summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>2004-02-08 20:39:35 +0000
committerwpaul <wpaul@FreeBSD.org>2004-02-08 20:39:35 +0000
commitcef20b35612864d63497a1abbec22b486b6095bf (patch)
tree893d56380fe70a439a6db59b30309d2ff8a0d2b4
parentfc00d2a1cde402554e27af3e2916b0cfd6cb7266 (diff)
downloadFreeBSD-src-cef20b35612864d63497a1abbec22b486b6095bf.zip
FreeBSD-src-cef20b35612864d63497a1abbec22b486b6095bf.tar.gz
Make NdisMMapIoSpace() guard against NULL/uninitialized resource pointers too.
-rw-r--r--sys/compat/ndis/subr_ndis.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/compat/ndis/subr_ndis.c b/sys/compat/ndis/subr_ndis.c
index ccda640..ec61024 100644
--- a/sys/compat/ndis/subr_ndis.c
+++ b/sys/compat/ndis/subr_ndis.c
@@ -1464,9 +1464,11 @@ ndis_map_iospace(vaddr, adapter, paddr, len)
block = (ndis_miniport_block *)adapter;
sc = (struct ndis_softc *)(block->nmb_ifp);
- if (paddr.np_quad == rman_get_start(sc->ndis_res_mem))
+ if (sc->ndis_res_mem != NULL &&
+ paddr.np_quad == rman_get_start(sc->ndis_res_mem))
*vaddr = (void *)rman_get_virtual(sc->ndis_res_mem);
- else if (paddr.np_quad == rman_get_start(sc->ndis_res_altmem))
+ else if (sc->ndis_res_altmem != NULL &&
+ paddr.np_quad == rman_get_start(sc->ndis_res_altmem))
*vaddr = (void *)rman_get_virtual(sc->ndis_res_altmem);
else
return(NDIS_STATUS_FAILURE);
OpenPOWER on IntegriCloud