diff options
author | weongyo <weongyo@FreeBSD.org> | 2008-05-15 04:29:28 +0000 |
---|---|---|
committer | weongyo <weongyo@FreeBSD.org> | 2008-05-15 04:29:28 +0000 |
commit | 6354067da5a88e7e235e9232ffc2d482e718c512 (patch) | |
tree | 3388397955031e6130f10560dcd81a9d9bfd3d3a /sys/compat | |
parent | ec0d9f9d00b2956b4d88f6a2d1a615775bea2d1c (diff) | |
download | FreeBSD-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.c | 4 |
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) |