diff options
author | kevlo <kevlo@FreeBSD.org> | 2012-05-11 07:12:18 +0000 |
---|---|---|
committer | kevlo <kevlo@FreeBSD.org> | 2012-05-11 07:12:18 +0000 |
commit | 9cc1a8ec50336e683ff9f6c42f1ffb762bcf85b9 (patch) | |
tree | d183ba11febba9c206baab1c802658496f9833c3 | |
parent | 47b655c0b7f69a36694916c6068689db1b4806c7 (diff) | |
download | FreeBSD-src-9cc1a8ec50336e683ff9f6c42f1ffb762bcf85b9.zip FreeBSD-src-9cc1a8ec50336e683ff9f6c42f1ffb762bcf85b9.tar.gz |
Make sure we don't dereference a null pointer
-rw-r--r-- | sys/dev/re/if_re.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index 995fa53..0844a885 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -1753,8 +1753,12 @@ re_detach(device_t dev) bus_teardown_intr(dev, sc->rl_irq[0], sc->rl_intrhand[0]); sc->rl_intrhand[0] = NULL; } - if (ifp != NULL) + if (ifp != NULL) { +#ifdef DEV_NETMAP + netmap_detach(ifp); +#endif /* DEV_NETMAP */ if_free(ifp); + } if ((sc->rl_flags & (RL_FLAG_MSI | RL_FLAG_MSIX)) == 0) rid = 0; else @@ -1843,9 +1847,6 @@ re_detach(device_t dev) bus_dma_tag_destroy(sc->rl_ldata.rl_stag); } -#ifdef DEV_NETMAP - netmap_detach(ifp); -#endif /* DEV_NETMAP */ if (sc->rl_parent_tag) bus_dma_tag_destroy(sc->rl_parent_tag); |