summaryrefslogtreecommitdiffstats
path: root/sys/dev/nfe
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2010-11-15 22:05:08 +0000
committeryongari <yongari@FreeBSD.org>2010-11-15 22:05:08 +0000
commita163da94d9dd346a745eaedc9f0d794d961ac871 (patch)
treeae7d5a5447f6bfe05c7d4e11c9b140b98e82cde1 /sys/dev/nfe
parent1e501fb55ecad0ee864ac074b722f19efdaee266 (diff)
downloadFreeBSD-src-a163da94d9dd346a745eaedc9f0d794d961ac871.zip
FreeBSD-src-a163da94d9dd346a745eaedc9f0d794d961ac871.tar.gz
Plug memory leakage introduced in r215327.
Submitted by: jkim
Diffstat (limited to 'sys/dev/nfe')
-rw-r--r--sys/dev/nfe/if_nfe.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/sys/dev/nfe/if_nfe.c b/sys/dev/nfe/if_nfe.c
index a56bb97..c77a4da 100644
--- a/sys/dev/nfe/if_nfe.c
+++ b/sys/dev/nfe/if_nfe.c
@@ -804,7 +804,7 @@ nfe_can_use_msix(struct nfe_softc *sc)
struct msix_blacklist *mblp;
char *maker, *product;
- int count, n;
+ int count, n, use_msix;
/*
* Search base board manufacturer and product name table
@@ -812,18 +812,25 @@ nfe_can_use_msix(struct nfe_softc *sc)
*/
maker = getenv("smbios.planar.maker");
product = getenv("smbios.planar.product");
+ use_msix = 1;
if (maker != NULL && product != NULL) {
count = sizeof(msix_blacklists) / sizeof(msix_blacklists[0]);
mblp = msix_blacklists;
for (n = 0; n < count; n++) {
if (strcmp(maker, mblp->maker) == 0 &&
- strcmp(product, mblp->product) == 0)
- return (0);
+ strcmp(product, mblp->product) == 0) {
+ use_msix = 0;
+ break;
+ }
mblp++;
}
}
+ if (maker != NULL)
+ freeenv(maker);
+ if (product != NULL)
+ freeenv(product);
- return (1);
+ return (use_msix);
}
OpenPOWER on IntegriCloud