diff options
author | kmacy <kmacy@FreeBSD.org> | 2010-05-12 04:51:20 +0000 |
---|---|---|
committer | kmacy <kmacy@FreeBSD.org> | 2010-05-12 04:51:20 +0000 |
commit | 5e73b28c4d3bb80d9513aba20467cf42a464e5b6 (patch) | |
tree | 5479c6fe36e8141e96d426d0dab5065f99aa131c | |
parent | f5c26f02f15557ba2c4959199b31e6f4d5e25431 (diff) | |
download | FreeBSD-src-5e73b28c4d3bb80d9513aba20467cf42a464e5b6.zip FreeBSD-src-5e73b28c4d3bb80d9513aba20467cf42a464e5b6.tar.gz |
workaround bug with ipv6 where a flow can have a null rtentry
-rw-r--r-- | sys/net/flowtable.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/net/flowtable.c b/sys/net/flowtable.c index 0e4beb4..514c17a 100644 --- a/sys/net/flowtable.c +++ b/sys/net/flowtable.c @@ -1389,8 +1389,10 @@ fle_free(struct flentry *fle, struct flowtable *ft) rt = __DEVOLATILE(struct rtentry *, fle->f_rt); lle = __DEVOLATILE(struct llentry *, fle->f_lle); - RTFREE(rt); - LLE_FREE(lle); + if (rt != NULL) + RTFREE(rt); + if (lle != NULL) + LLE_FREE(lle); flow_free(fle, ft); } |