aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/mii/brgphy.c
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2010-11-15 23:13:25 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2010-11-15 23:13:25 +0000
commit51460278cfc7206febb41b537eaa4750561347cf (patch)
treeed94012434aa9d7e5cd1f26d9c4380de9a9a2435 /sys/dev/mii/brgphy.c
parentce0cfc0ef3b9641ed144479ce4a07e1be6771050 (diff)
downloadsrc-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.c21
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 */