From: Arend van Spriel <ar...@broadcom.com>

The error handling code labelled with errout: did a conditional kfree(). The
last error jump to the label is upon failure of the kmalloc() for which the
conditional kfree() is done. Therefor, the kfree is moved before the error
label and done unconditionally.

Signed-off-by: Arend van Spriel <ar...@broadcom.com>
Reviewed-by: Roland Vossen <rvos...@broadcom.com>
---
 drivers/staging/brcm80211/brcmsmac/srom.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/brcm80211/brcmsmac/srom.c 
b/drivers/staging/brcm80211/brcmsmac/srom.c
index 5b5306a..31aa84d 100644
--- a/drivers/staging/brcm80211/brcmsmac/srom.c
+++ b/drivers/staging/brcm80211/brcmsmac/srom.c
@@ -1287,12 +1287,10 @@ static int initvars_srom_pci(struct si_pub *sih, void 
*curmap, char **vars,
                *vp++ = '\0';
 
                err = initvars_table(base, vp, vars, count);
+               kfree(base);
        }
 
 errout:
-       if (base)
-               kfree(base);
-
        kfree(srom);
        return err;
 }
-- 
1.7.1


_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to