diff options
author | Goldwyn Rodrigues <rgoldwyn@suse.com> | 2017-12-03 22:14:12 -0500 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2018-01-17 09:16:13 -0500 |
commit | 7690e25302dc7d0cd42b349e746fe44b44a94f2b (patch) | |
tree | c2172d68ef5a03d1a309be7d7fbb10605ecc8274 | |
parent | 7efd5fed6fd713e206ace4b71116d0a5d719fb0a (diff) |
dm flakey: check for null arg_name in parse_features()
One can crash dm-flakey by specifying more feature arguments than the
number of features supplied. Checking for null in arg_name avoids
this.
dmsetup create flakey-test --table "0 66076080 flakey /dev/sdb9 0 0 180 2 drop_writes"
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
-rw-r--r-- | drivers/md/dm-flakey.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/md/dm-flakey.c b/drivers/md/dm-flakey.c index b82cb1ab1eaa..1b907b15f5c3 100644 --- a/drivers/md/dm-flakey.c +++ b/drivers/md/dm-flakey.c | |||
@@ -70,6 +70,11 @@ static int parse_features(struct dm_arg_set *as, struct flakey_c *fc, | |||
70 | arg_name = dm_shift_arg(as); | 70 | arg_name = dm_shift_arg(as); |
71 | argc--; | 71 | argc--; |
72 | 72 | ||
73 | if (!arg_name) { | ||
74 | ti->error = "Insufficient feature arguments"; | ||
75 | return -EINVAL; | ||
76 | } | ||
77 | |||
73 | /* | 78 | /* |
74 | * drop_writes | 79 | * drop_writes |
75 | */ | 80 | */ |