diff options
author | ru <ru@FreeBSD.org> | 2005-09-16 11:25:19 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2005-09-16 11:25:19 +0000 |
commit | ffd86537c18a9461b7ba5750e9c1614efab9e102 (patch) | |
tree | 28693ec03ccca1e33bd2724f25f53e25086d4948 /sys/dev/vge | |
parent | c71407b5890e69c4a1adc0e0936f0d7e9cd24be4 (diff) | |
download | FreeBSD-src-ffd86537c18a9461b7ba5750e9c1614efab9e102.zip FreeBSD-src-ffd86537c18a9461b7ba5750e9c1614efab9e102.tar.gz |
Fix "struct ifnet" leaks when attach() fails in the middle.
Diffstat (limited to 'sys/dev/vge')
-rw-r--r-- | sys/dev/vge/if_vge.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/vge/if_vge.c b/sys/dev/vge/if_vge.c index c269c0f..60d8cdc 100644 --- a/sys/dev/vge/if_vge.c +++ b/sys/dev/vge/if_vge.c @@ -1122,8 +1122,9 @@ vge_detach(dev) */ ifp->if_flags &= ~IFF_UP; ether_ifdetach(ifp); - if_free(ifp); } + if (ifp) + if_free(ifp); if (sc->vge_miibus) device_delete_child(dev, sc->vge_miibus); bus_generic_detach(dev); |