1
linux/drivers/isdn
Florin Malita 9ee0be05dc ISDN HiSax: uninitialized return in hisax_cs_setup
Coverity (1792) spotted a possibly uninitialized return value in case of
kmalloc() failure:

1116 static int hisax_cs_setup(int cardnr, struct IsdnCard *card,
1117                           struct IsdnCardState *cs)
1119         int ret;
1120
1121         if (!(cs->rcvbuf = kmalloc(MAX_DFRAME_LEN_L1, GFP_ATOMIC))) {
1122                 printk(KERN_WARNING "HiSax: No memory for isac rcvbuf\n");
1123                 ll_unload(cs);
1124                 goto outf_cs;
...
1165 outf_cs:
1166         kfree(cs);
1167         card->cs = NULL;
1168         return ret;

The straightforward solution would be to just add the missing
initialization but hardcoding the return value in the out_cs branch
(only taken on failure) seems to work just as well and it allows killing
a couple of other lines too.

Signed-off-by: Florin Malita <fmalita@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-07-18 18:17:23 -04:00
..
act2000
capi isdn/capi warning fixes 2007-07-17 10:23:06 -07:00
divert
gigaset
hardware i4l: leak in eicon/idifunc.c 2007-07-17 10:23:06 -07:00
hisax ISDN HiSax: uninitialized return in hisax_cs_setup 2007-07-18 18:17:23 -04:00
hysdn
i4l Use menuconfig objects: ISDN: CONFIG_ISDN 2007-07-17 10:23:05 -07:00
icn Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
isdnloop
pcbit
sc Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
Kconfig Use menuconfig objects: ISDN: CONFIG_ISDN_CAPI 2007-07-17 10:23:05 -07:00
Makefile