[PATCH] i4l: memory leak fix for sc_ioctl().
authorJesper Juhl <jesper.juhl@gmail.com>
Fri, 23 Jun 2006 09:05:27 +0000 (02:05 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 23 Jun 2006 14:43:04 +0000 (07:43 -0700)
Fix leak of `rcvmsg' in sc_ioctl().

There are two returns in the switch in sc_ioctl (the SCIOCSTART case) that
may leak `rcvmsg'.  This patch fixes that by adding a kfree() call at the
beginning of that case.

Bug found by the coverity checker as #1098

Eric Sesterhenn send me a patch to fix the leak(s) by adding 2 kfree()
calls before the returns, I changed that into just a single call at the
beginning.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Cc: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/isdn/sc/ioctl.c

index f4f71226a0789ece854f9c717b18a93454c0614a..57c4ab96d136465195f89e232e345ee5771e287b 100644 (file)
@@ -97,6 +97,7 @@ int sc_ioctl(int card, scs_ioctl *data)
 
        case SCIOCSTART:
        {
+               kfree(rcvmsg);
                pr_debug("%s: SCIOSTART: ioctl received\n",
                                sc_adapter[card]->devicename);
                if(sc_adapter[card]->EngineUp) {