Skip to content

Commit

Permalink
[PATCH] ISDN: fix a few memory leaks in sc_ioctl()
Browse files Browse the repository at this point in the history
Fix a few memory leaks in drivers/isdn/sc/ioctl.c::sc_ioctl()

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Acked-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Jesper Juhl authored and Linus Torvalds committed Mar 31, 2006
1 parent b0b4ed7 commit d32af0f
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/isdn/sc/ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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;
}
Expand All @@ -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;
}
Expand Down

0 comments on commit d32af0f

Please sign in to comment.