summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authorweongyo <weongyo@FreeBSD.org>2008-05-15 04:29:28 +0000
committerweongyo <weongyo@FreeBSD.org>2008-05-15 04:29:28 +0000
commit6354067da5a88e7e235e9232ffc2d482e718c512 (patch)
tree3388397955031e6130f10560dcd81a9d9bfd3d3a /sys/compat
parentec0d9f9d00b2956b4d88f6a2d1a615775bea2d1c (diff)
downloadFreeBSD-src-6354067da5a88e7e235e9232ffc2d482e718c512.zip
FreeBSD-src-6354067da5a88e7e235e9232ffc2d482e718c512.tar.gz
Fix a panic when it occurred during initializing the ndis driver because
it try to read network address through ifnet structure which is NULL until the ndis driver's initialization is finished. Reviewed by: thompsa
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/ndis/subr_ndis.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/compat/ndis/subr_ndis.c b/sys/compat/ndis/subr_ndis.c
index 8c90d82..2945386 100644
--- a/sys/compat/ndis/subr_ndis.c
+++ b/sys/compat/ndis/subr_ndis.c
@@ -1360,6 +1360,10 @@ NdisReadNetworkAddress(status, addr, addrlen, adapter)
block = (ndis_miniport_block *)adapter;
sc = device_get_softc(block->nmb_physdeviceobj->do_devext);
+ if (sc->ifp == NULL) {
+ *status = NDIS_STATUS_FAILURE;
+ return;
+ }
#ifdef IFP2ENADDR
if (bcmp(IFP2ENADDR(sc->ifp), empty, ETHER_ADDR_LEN) == 0)
OpenPOWER on IntegriCloud