summaryrefslogtreecommitdiffstats
path: root/sys/dev/lnc
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2005-09-16 12:49:06 +0000
committerru <ru@FreeBSD.org>2005-09-16 12:49:06 +0000
commit2bc1b3a58302c0e550ac5894f297b9d7e3f1cc4a (patch)
tree37bb8214143d6412a18d105093193e832785d2d8 /sys/dev/lnc
parenta3b89924c144e37a900c79adff07aa07aa407c33 (diff)
downloadFreeBSD-src-2bc1b3a58302c0e550ac5894f297b9d7e3f1cc4a.zip
FreeBSD-src-2bc1b3a58302c0e550ac5894f297b9d7e3f1cc4a.tar.gz
Fix "struct ifnet" leak if attach() fails in the middle.
Diffstat (limited to 'sys/dev/lnc')
-rw-r--r--sys/dev/lnc/if_lnc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/lnc/if_lnc.c b/sys/dev/lnc/if_lnc.c
index ca7f8c0..1d26ad6 100644
--- a/sys/dev/lnc/if_lnc.c
+++ b/sys/dev/lnc/if_lnc.c
@@ -212,6 +212,9 @@ lnc_release_resources(device_t dev)
}
bus_dma_tag_destroy(sc->dmat);
}
+
+ if (sc->ifp)
+ if_free(sc->ifp);
}
/*
@@ -897,7 +900,6 @@ lnc_detach_common(device_t dev) {
int s = splimp();
ether_ifdetach(sc->ifp);
- if_free(sc->ifp);
lnc_stop(sc);
lnc_release_resources(dev);
OpenPOWER on IntegriCloud