summaryrefslogtreecommitdiffstats
path: root/drivers/md
diff options
context:
space:
mode:
authorMike Snitzer2011-08-02 13:32:00 +0200
committerAlasdair G Kergon2011-08-02 13:32:00 +0200
commit286f367dad40beb3234a18c17391d03ba939a7f3 (patch)
tree50e7b04332ce6e8ab920284528d555e67aae2081 /drivers/md
parentdm snapshot: flush disk cache when merging (diff)
downloadkernel-qcow2-linux-286f367dad40beb3234a18c17391d03ba939a7f3.tar.gz
kernel-qcow2-linux-286f367dad40beb3234a18c17391d03ba939a7f3.tar.xz
kernel-qcow2-linux-286f367dad40beb3234a18c17391d03ba939a7f3.zip
dm mpath: fix potential NULL pointer in feature arg processing
Avoid dereferencing a NULL pointer if the number of feature arguments supplied is fewer than indicated. Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com> Cc: stable@kernel.org
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/dm-mpath.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
index c3547016f0f1..adf851a081bd 100644
--- a/drivers/md/dm-mpath.c
+++ b/drivers/md/dm-mpath.c
@@ -807,6 +807,11 @@ static int parse_features(struct arg_set *as, struct multipath *m)
if (!argc)
return 0;
+ if (argc > as->argc) {
+ ti->error = "not enough arguments for features";
+ return -EINVAL;
+ }
+
do {
param_name = shift(as);
argc--;