diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2010-11-15 23:13:25 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2010-11-15 23:13:25 +0000 |
commit | 51460278cfc7206febb41b537eaa4750561347cf (patch) | |
tree | ed94012434aa9d7e5cd1f26d9c4380de9a9a2435 /sys/dev/mii/brgphy.c | |
parent | ce0cfc0ef3b9641ed144479ce4a07e1be6771050 (diff) | |
download | src-51460278cfc7206febb41b537eaa4750561347cf.tar.gz src-51460278cfc7206febb41b537eaa4750561347cf.zip |
Plug memory leakage introduced in r204989.
Reported by: yongari
Notes
Notes:
svn path=/head/; revision=215353
Diffstat (limited to 'sys/dev/mii/brgphy.c')
-rw-r--r-- | sys/dev/mii/brgphy.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/sys/dev/mii/brgphy.c b/sys/dev/mii/brgphy.c index 96947d401f8c..72e1ac72d2e7 100644 --- a/sys/dev/mii/brgphy.c +++ b/sys/dev/mii/brgphy.c @@ -154,15 +154,18 @@ static int detect_hs21(struct bce_softc *bce_sc) { char *sysenv; - - if (bce_sc->bce_chipid != HS21_BCM_CHIPID) - return (0); - sysenv = getenv("smbios.system.product"); - if (sysenv == NULL) - return (0); - if (strncmp(sysenv, HS21_PRODUCT_ID, strlen(HS21_PRODUCT_ID)) != 0) - return (0); - return (1); + int found; + + found = 0; + if (bce_sc->bce_chipid == HS21_BCM_CHIPID) { + sysenv = getenv("smbios.system.product"); + if (sysenv != NULL) { + if (strcmp(sysenv, HS21_PRODUCT_ID) == 0) + found = 1; + freeenv(sysenv); + } + } + return (found); } /* Search for our PHY in the list of known PHYs */ |