mac80211: Fix memory leak in ieee80211_if_write()
Fix memory leak and use kmalloc() instead of kzalloc() as we are going to overwrite the allocated buffer. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
2a13052fe4
commit
51f5f8ca44
@ -48,20 +48,24 @@ static ssize_t ieee80211_if_write(
|
||||
ssize_t (*write)(struct ieee80211_sub_if_data *, const char *, int))
|
||||
{
|
||||
u8 *buf;
|
||||
ssize_t ret = -ENODEV;
|
||||
ssize_t ret;
|
||||
|
||||
buf = kzalloc(count, GFP_KERNEL);
|
||||
buf = kmalloc(count, GFP_KERNEL);
|
||||
if (!buf)
|
||||
return -ENOMEM;
|
||||
|
||||
ret = -EFAULT;
|
||||
if (copy_from_user(buf, userbuf, count))
|
||||
return -EFAULT;
|
||||
goto freebuf;
|
||||
|
||||
ret = -ENODEV;
|
||||
rtnl_lock();
|
||||
if (sdata->dev->reg_state == NETREG_REGISTERED)
|
||||
ret = (*write)(sdata, buf, count);
|
||||
rtnl_unlock();
|
||||
|
||||
freebuf:
|
||||
kfree(buf);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user