diff options
author | wpaul <wpaul@FreeBSD.org> | 2004-02-08 20:39:35 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 2004-02-08 20:39:35 +0000 |
commit | cef20b35612864d63497a1abbec22b486b6095bf (patch) | |
tree | 893d56380fe70a439a6db59b30309d2ff8a0d2b4 | |
parent | fc00d2a1cde402554e27af3e2916b0cfd6cb7266 (diff) | |
download | FreeBSD-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.c | 6 |
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); |