Procházet zdrojové kódy

wil6210: fix memory leak on error path in wil_write_file_rxon()

If copy_from_user() fails, buffer allocated for parameters would leak

Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Vladimir Kondratiev před 11 roky
rodič
revize
359ee62753
1 změnil soubory, kde provedl 3 přidání a 1 odebrání
  1. 3 1
      drivers/net/wireless/ath/wil6210/debugfs.c

+ 3 - 1
drivers/net/wireless/ath/wil6210/debugfs.c

@@ -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);