summaryrefslogtreecommitdiffstats
path: root/sys/netpfil/pf/pf_ioctl.c
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2016-02-08 17:47:58 +0000
committerglebius <glebius@FreeBSD.org>2016-02-08 17:47:58 +0000
commit87ab639764a7d4ff24c9e2ecd1f21536e3b9ceb5 (patch)
tree59f7b10e0186e67ec3ef9ed4b0935e2c18ee0f24 /sys/netpfil/pf/pf_ioctl.c
parenta63a5c89b8b8639f94e24e902b6fbabf8d9e8021 (diff)
downloadFreeBSD-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/netpfil/pf/pf_ioctl.c')
-rw-r--r--sys/netpfil/pf/pf_ioctl.c4
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)
OpenPOWER on IntegriCloud