summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authorweongyo <weongyo@FreeBSD.org>2008-06-11 07:55:07 +0000
committerweongyo <weongyo@FreeBSD.org>2008-06-11 07:55:07 +0000
commitad0eff64be686b87fd41fe643041096f172d0278 (patch)
treeb327ed81795c0fbc52599191d9d7e8bcacc6b8aa /sys/compat
parent0b53c9edf1a309162c5fa7973a8284ab5950a8dc (diff)
downloadFreeBSD-src-ad0eff64be686b87fd41fe643041096f172d0278.zip
FreeBSD-src-ad0eff64be686b87fd41fe643041096f172d0278.tar.gz
fix a page fault that it occurred during ifp is NULL. This bug happens
when NDIS driver's initialization is failed and NDIS driver's trying to call NdisWriteErrorLogEntry().
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/ndis/subr_ndis.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/compat/ndis/subr_ndis.c b/sys/compat/ndis/subr_ndis.c
index 2945386..3e4470e 100644
--- a/sys/compat/ndis/subr_ndis.c
+++ b/sys/compat/ndis/subr_ndis.c
@@ -1018,7 +1018,7 @@ NdisWriteErrorLogEntry(ndis_handle adapter, ndis_error_code code,
sc = device_get_softc(dev);
ifp = sc->ifp;
- if (ifp->if_flags & IFF_DEBUG) {
+ if (ifp != NULL && ifp->if_flags & IFF_DEBUG) {
error = pe_get_message((vm_offset_t)drv->dro_driverstart,
code, &str, &i, &flags);
if (error == 0) {
@@ -1036,7 +1036,7 @@ NdisWriteErrorLogEntry(ndis_handle adapter, ndis_error_code code,
device_printf (dev, "NDIS ERROR: %x (%s)\n", code,
str == NULL ? "unknown error" : str);
- if (ifp->if_flags & IFF_DEBUG) {
+ if (ifp != NULL && ifp->if_flags & IFF_DEBUG) {
device_printf (dev, "NDIS NUMERRORS: %x\n", numerrors);
va_start(ap, numerrors);
for (i = 0; i < numerrors; i++)
OpenPOWER on IntegriCloud