diff options
Diffstat (limited to 'drivers/md/dm-delay.c')
-rw-r--r-- | drivers/md/dm-delay.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/md/dm-delay.c b/drivers/md/dm-delay.c index f18375dcedd..2dc22dddb2a 100644 --- a/drivers/md/dm-delay.c +++ b/drivers/md/dm-delay.c | |||
@@ -131,6 +131,7 @@ static int delay_ctr(struct dm_target *ti, unsigned int argc, char **argv) | |||
131 | { | 131 | { |
132 | struct delay_c *dc; | 132 | struct delay_c *dc; |
133 | unsigned long long tmpll; | 133 | unsigned long long tmpll; |
134 | char dummy; | ||
134 | 135 | ||
135 | if (argc != 3 && argc != 6) { | 136 | if (argc != 3 && argc != 6) { |
136 | ti->error = "requires exactly 3 or 6 arguments"; | 137 | ti->error = "requires exactly 3 or 6 arguments"; |
@@ -145,13 +146,13 @@ static int delay_ctr(struct dm_target *ti, unsigned int argc, char **argv) | |||
145 | 146 | ||
146 | dc->reads = dc->writes = 0; | 147 | dc->reads = dc->writes = 0; |
147 | 148 | ||
148 | if (sscanf(argv[1], "%llu", &tmpll) != 1) { | 149 | if (sscanf(argv[1], "%llu%c", &tmpll, &dummy) != 1) { |
149 | ti->error = "Invalid device sector"; | 150 | ti->error = "Invalid device sector"; |
150 | goto bad; | 151 | goto bad; |
151 | } | 152 | } |
152 | dc->start_read = tmpll; | 153 | dc->start_read = tmpll; |
153 | 154 | ||
154 | if (sscanf(argv[2], "%u", &dc->read_delay) != 1) { | 155 | if (sscanf(argv[2], "%u%c", &dc->read_delay, &dummy) != 1) { |
155 | ti->error = "Invalid delay"; | 156 | ti->error = "Invalid delay"; |
156 | goto bad; | 157 | goto bad; |
157 | } | 158 | } |
@@ -166,13 +167,13 @@ static int delay_ctr(struct dm_target *ti, unsigned int argc, char **argv) | |||
166 | if (argc == 3) | 167 | if (argc == 3) |
167 | goto out; | 168 | goto out; |
168 | 169 | ||
169 | if (sscanf(argv[4], "%llu", &tmpll) != 1) { | 170 | if (sscanf(argv[4], "%llu%c", &tmpll, &dummy) != 1) { |
170 | ti->error = "Invalid write device sector"; | 171 | ti->error = "Invalid write device sector"; |
171 | goto bad_dev_read; | 172 | goto bad_dev_read; |
172 | } | 173 | } |
173 | dc->start_write = tmpll; | 174 | dc->start_write = tmpll; |
174 | 175 | ||
175 | if (sscanf(argv[5], "%u", &dc->write_delay) != 1) { | 176 | if (sscanf(argv[5], "%u%c", &dc->write_delay, &dummy) != 1) { |
176 | ti->error = "Invalid write delay"; | 177 | ti->error = "Invalid write delay"; |
177 | goto bad_dev_read; | 178 | goto bad_dev_read; |
178 | } | 179 | } |