2014-11-30 08:29:13

by Vladimir Kondratiev

[permalink] [raw]
Subject: Re: [PATCH] wil6210: Fix potential memory leaks on error paths

On Friday, November 28, 2014 02:47:19 AM Lino Sanfilippo wrote:
> Fix missing memory deallocation on error paths in wil_write_file_wmi()
> and wil_write_file_txmgmt().
>
> Reported-by: Ahmed Tamrawi <[email protected]>
> Signed-off-by: Lino Sanfilippo <[email protected]>
> ---
> drivers/net/wireless/ath/wil6210/debugfs.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/wil6210/debugfs.c b/drivers/net/wireless/ath/wil6210/debugfs.c
> index 54a6ddc..4e6e145 100644
> --- a/drivers/net/wireless/ath/wil6210/debugfs.c
> +++ b/drivers/net/wireless/ath/wil6210/debugfs.c
> @@ -573,8 +573,10 @@ static ssize_t wil_write_file_txmgmt(struct file *file, const char __user *buf,
> if (!frame)
> return -ENOMEM;
>
> - if (copy_from_user(frame, buf, len))
> + if (copy_from_user(frame, buf, len)) {
> + kfree(frame);
> return -EIO;
> + }
>
> params.buf = frame;
> params.len = len;
> @@ -614,8 +616,10 @@ static ssize_t wil_write_file_wmi(struct file *file, const char __user *buf,
> return -ENOMEM;
>
> rc = simple_write_to_buffer(wmi, len, ppos, buf, len);
> - if (rc < 0)
> + if (rc < 0) {
> + kfree(wmi);
> return rc;
> + }
>
> cmd = &wmi[1];
> cmdid = le16_to_cpu(wmi->id);
>

Lino and Ahmed: thanks for that. Here is my
Signed-off-by: Vladimir Kondratiev <[email protected]>

John: please merge