Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

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>

authored by

Jesper Juhl and committed by
Linus Torvalds
d32af0fe b0b4ed72

+5 -4
+5 -4
drivers/isdn/sc/ioctl.c
··· 46 46 pr_debug("%s: SCIOCRESET: ioctl received\n", 47 47 sc_adapter[card]->devicename); 48 48 sc_adapter[card]->StartOnReset = 0; 49 - return (reset(card)); 49 + kfree(rcvmsg); 50 + return reset(card); 50 51 } 51 52 52 53 case SCIOCLOAD: ··· 184 183 sc_adapter[card]->devicename); 185 184 186 185 spid = kmalloc(SCIOC_SPIDSIZE, GFP_KERNEL); 187 - if(!spid) { 186 + if (!spid) { 188 187 kfree(rcvmsg); 189 188 return -ENOMEM; 190 189 } ··· 196 195 if (!status) { 197 196 pr_debug("%s: SCIOCGETSPID: command successful\n", 198 197 sc_adapter[card]->devicename); 199 - } 200 - else { 198 + } else { 201 199 pr_debug("%s: SCIOCGETSPID: command failed (status = %d)\n", 202 200 sc_adapter[card]->devicename, status); 201 + kfree(spid); 203 202 kfree(rcvmsg); 204 203 return status; 205 204 }