summaryrefslogtreecommitdiffstats
path: root/sys/netpfil
diff options
context:
space:
mode:
authormelifaro <melifaro@FreeBSD.org>2014-10-06 11:29:50 +0000
committermelifaro <melifaro@FreeBSD.org>2014-10-06 11:29:50 +0000
commitbbf0fe2f55e3258afdcf4e34c9b1b3e7022313ec (patch)
tree854ad5abba35f75bf0897714c147006029a7ec67 /sys/netpfil
parent6d4e1e4f7b52f1c8a619c0543a842d2c32fc4b08 (diff)
parent1a9bf52407392314013176555802b13a04699792 (diff)
downloadFreeBSD-src-bbf0fe2f55e3258afdcf4e34c9b1b3e7022313ec.zip
FreeBSD-src-bbf0fe2f55e3258afdcf4e34c9b1b3e7022313ec.tar.gz
Sync to HEAD@r272609.
Diffstat (limited to 'sys/netpfil')
-rw-r--r--sys/netpfil/ipfw/ip_fw2.c10
-rw-r--r--sys/netpfil/ipfw/ip_fw_sockopt.c1
2 files changed, 8 insertions, 3 deletions
diff --git a/sys/netpfil/ipfw/ip_fw2.c b/sys/netpfil/ipfw/ip_fw2.c
index 64b40ad..8771663 100644
--- a/sys/netpfil/ipfw/ip_fw2.c
+++ b/sys/netpfil/ipfw/ip_fw2.c
@@ -1774,9 +1774,13 @@ do { \
break;
case O_TCPOPTS:
- PULLUP_LEN(hlen, ulp, (TCP(ulp)->th_off << 2));
- match = (proto == IPPROTO_TCP && offset == 0 &&
- tcpopts_match(TCP(ulp), cmd));
+ if (proto == IPPROTO_TCP && ulp != NULL) {
+ PULLUP_LEN(hlen, ulp,
+ (TCP(ulp)->th_off << 2));
+ match = (proto == IPPROTO_TCP &&
+ offset == 0 &&
+ tcpopts_match(TCP(ulp), cmd));
+ }
break;
case O_TCPSEQ:
diff --git a/sys/netpfil/ipfw/ip_fw_sockopt.c b/sys/netpfil/ipfw/ip_fw_sockopt.c
index bae6592..89baeab 100644
--- a/sys/netpfil/ipfw/ip_fw_sockopt.c
+++ b/sys/netpfil/ipfw/ip_fw_sockopt.c
@@ -2474,6 +2474,7 @@ ipfw_del_sopt_handler(struct ipfw_sopt_handler *sh, size_t count)
static int
ipfw_flush_sopt_data(struct sockopt_data *sd)
{
+#define RULE_MAXSIZE (512*sizeof(u_int32_t))
int error;
size_t sz;
OpenPOWER on IntegriCloud