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>
                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:
                                sc_adapter[card]->devicename);
 
                spid = kmalloc(SCIOC_SPIDSIZE, GFP_KERNEL);
-               if(!spid) {
+               if (!spid) {
                        kfree(rcvmsg);
                        return -ENOMEM;
                }
                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;
                }