diff options
Diffstat (limited to 'drivers/mtd/mtdchar.c')
-rw-r--r-- | drivers/mtd/mtdchar.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c index 07618f51d969..7c4adc641328 100644 --- a/drivers/mtd/mtdchar.c +++ b/drivers/mtd/mtdchar.c | |||
@@ -431,7 +431,7 @@ static int mtd_ioctl(struct inode *inode, struct file *file, | |||
431 | if(!(file->f_mode & 2)) | 431 | if(!(file->f_mode & 2)) |
432 | return -EPERM; | 432 | return -EPERM; |
433 | 433 | ||
434 | erase=kmalloc(sizeof(struct erase_info),GFP_KERNEL); | 434 | erase=kzalloc(sizeof(struct erase_info),GFP_KERNEL); |
435 | if (!erase) | 435 | if (!erase) |
436 | ret = -ENOMEM; | 436 | ret = -ENOMEM; |
437 | else { | 437 | else { |
@@ -440,7 +440,6 @@ static int mtd_ioctl(struct inode *inode, struct file *file, | |||
440 | 440 | ||
441 | init_waitqueue_head(&waitq); | 441 | init_waitqueue_head(&waitq); |
442 | 442 | ||
443 | memset (erase,0,sizeof(struct erase_info)); | ||
444 | if (copy_from_user(&erase->addr, argp, | 443 | if (copy_from_user(&erase->addr, argp, |
445 | sizeof(struct erase_info_user))) { | 444 | sizeof(struct erase_info_user))) { |
446 | kfree(erase); | 445 | kfree(erase); |