Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 51f5f8ca authored by Eric Dumazet's avatar Eric Dumazet Committed by John W. Linville
Browse files

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: default avatarEric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 2a13052f
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -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;
}