• Florin Malita's avatar
    ISDN HiSax: uninitialized return in hisax_cs_setup · 9ee0be05
    Florin Malita authored
    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: default avatarFlorin Malita <fmalita@gmail.com>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    9ee0be05
config.c 46.7 KB