|
@@ -448,8 +448,10 @@ static ssize_t wil_write_file_rxon(struct file *file, const char __user *buf,
|
|
char *kbuf = kmalloc(len + 1, GFP_KERNEL);
|
|
char *kbuf = kmalloc(len + 1, GFP_KERNEL);
|
|
if (!kbuf)
|
|
if (!kbuf)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
- if (copy_from_user(kbuf, buf, len))
|
|
|
|
|
|
+ if (copy_from_user(kbuf, buf, len)) {
|
|
|
|
+ kfree(kbuf);
|
|
return -EIO;
|
|
return -EIO;
|
|
|
|
+ }
|
|
|
|
|
|
kbuf[len] = '\0';
|
|
kbuf[len] = '\0';
|
|
rc = kstrtol(kbuf, 0, &channel);
|
|
rc = kstrtol(kbuf, 0, &channel);
|