[TCP]: Fix botched memory leak fix to tcpprobe_read().
Somehow I clobbered James's original fix and only my subsequent compiler warning change went in for that changeset. Get the real fix in there. Noticed by Jesper Juhl. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f54fa84dda
commit
18b6fe64d4
|
@ -130,11 +130,12 @@ static ssize_t tcpprobe_read(struct file *file, char __user *buf,
|
||||||
error = wait_event_interruptible(tcpw.wait,
|
error = wait_event_interruptible(tcpw.wait,
|
||||||
__kfifo_len(tcpw.fifo) != 0);
|
__kfifo_len(tcpw.fifo) != 0);
|
||||||
if (error)
|
if (error)
|
||||||
return error;
|
goto out_free;
|
||||||
|
|
||||||
cnt = kfifo_get(tcpw.fifo, tbuf, len);
|
cnt = kfifo_get(tcpw.fifo, tbuf, len);
|
||||||
error = copy_to_user(buf, tbuf, cnt);
|
error = copy_to_user(buf, tbuf, cnt);
|
||||||
|
|
||||||
|
out_free:
|
||||||
vfree(tbuf);
|
vfree(tbuf);
|
||||||
|
|
||||||
return error ? error : cnt;
|
return error ? error : cnt;
|
||||||
|
|
Loading…
Reference in a new issue