Re: [PATCH] ISDN: fix a few resource leaks in sc_ioctl()

From: Karsten Keil
Date: Thu Mar 30 2006 - 03:49:01 EST


On Sun, Mar 26, 2006 at 04:16:25PM +0200, Jesper Juhl wrote:
>
> Fix a few resource leaks in drivers/isdn/sc/ioctl.c::sc_ioctl()
>
>
> Signed-off-by: Jesper Juhl <jesper.juhl@xxxxxxxxx>

Acked-by: Karsten Keil <kkeil@xxxxxxx>

> ---
>
> drivers/isdn/sc/ioctl.c | 9 +++++----
> 1 files changed, 5 insertions(+), 4 deletions(-)
>
> --- linux-2.6.16-mm1-orig/drivers/isdn/sc/ioctl.c 2006-03-20 06:53:29.000000000 +0100
> +++ linux-2.6.16-mm1/drivers/isdn/sc/ioctl.c 2006-03-26 16:11:49.000000000 +0200
> @@ -46,7 +46,8 @@ int sc_ioctl(int card, scs_ioctl *data)
> pr_debug("%s: SCIOCRESET: ioctl received\n",
> sc_adapter[card]->devicename);
> sc_adapter[card]->StartOnReset = 0;
> - return (reset(card));
> + kfree(rcvmsg);
> + return reset(card);
> }
>
> case SCIOCLOAD:
> @@ -183,7 +184,7 @@ int sc_ioctl(int card, scs_ioctl *data)
> sc_adapter[card]->devicename);
>
> spid = kmalloc(SCIOC_SPIDSIZE, GFP_KERNEL);
> - if(!spid) {
> + if (!spid) {
> kfree(rcvmsg);
> return -ENOMEM;
> }
> @@ -195,10 +196,10 @@ int sc_ioctl(int card, scs_ioctl *data)
> if (!status) {
> pr_debug("%s: SCIOCGETSPID: command successful\n",
> sc_adapter[card]->devicename);
> - }
> - else {
> + } else {
> pr_debug("%s: SCIOCGETSPID: command failed (status = %d)\n",
> sc_adapter[card]->devicename, status);
> + kfree(spid);
> kfree(rcvmsg);
> return status;
> }
>
>

--
Karsten Keil
SuSE Labs
ISDN development
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/