diff options
author | glebius <glebius@FreeBSD.org> | 2016-02-08 17:47:58 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2016-02-08 17:47:58 +0000 |
commit | 87ab639764a7d4ff24c9e2ecd1f21536e3b9ceb5 (patch) | |
tree | 59f7b10e0186e67ec3ef9ed4b0935e2c18ee0f24 /sys | |
parent | a63a5c89b8b8639f94e24e902b6fbabf8d9e8021 (diff) | |
download | FreeBSD-src-87ab639764a7d4ff24c9e2ecd1f21536e3b9ceb5.zip FreeBSD-src-87ab639764a7d4ff24c9e2ecd1f21536e3b9ceb5.tar.gz |
Merge r264915: fix NULL pointer derefernce with special sequence of
DIOCADDADDR and DIOCADDRULE.
PR: 206933
Approved by: re (marius)
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netpfil/pf/pf_ioctl.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index d91c851..12c8be5 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -350,7 +350,9 @@ pf_empty_pool(struct pf_palist *poola) pfi_dynaddr_remove(pa->addr.p.dyn); break; case PF_ADDR_TABLE: - pfr_detach_table(pa->addr.p.tbl); + /* XXX: this could be unfinished pooladdr on pabuf */ + if (pa->addr.p.tbl != NULL) + pfr_detach_table(pa->addr.p.tbl); break; } if (pa->kif) |