ath6kl: fix memory leak in ath6kl_fwlog_block_read()

If, in
drivers/net/wireless/ath/ath6kl/debug.c::ath6kl_fwlog_block_read(),
the call to wait_for_completion_interruptible() returns -ERESTARTSYS
then we'll return without freeing the (as yet unused) memory we
allocated for 'buf' - thus leaking it.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
Jesper Juhl 2012-04-11 22:41:36 +02:00 committed by Kalle Valo
parent 6146ca6903
commit ae9a3405fd

View File

@ -407,8 +407,10 @@ static ssize_t ath6kl_fwlog_block_read(struct file *file,
ret = wait_for_completion_interruptible( ret = wait_for_completion_interruptible(
&ar->debug.fwlog_completion); &ar->debug.fwlog_completion);
if (ret == -ERESTARTSYS) if (ret == -ERESTARTSYS) {
vfree(buf);
return ret; return ret;
}
spin_lock(&ar->debug.fwlog_queue.lock); spin_lock(&ar->debug.fwlog_queue.lock);
} }