diff options
author | melifaro <melifaro@FreeBSD.org> | 2014-10-06 11:29:50 +0000 |
---|---|---|
committer | melifaro <melifaro@FreeBSD.org> | 2014-10-06 11:29:50 +0000 |
commit | bbf0fe2f55e3258afdcf4e34c9b1b3e7022313ec (patch) | |
tree | 854ad5abba35f75bf0897714c147006029a7ec67 /sys/netpfil | |
parent | 6d4e1e4f7b52f1c8a619c0543a842d2c32fc4b08 (diff) | |
parent | 1a9bf52407392314013176555802b13a04699792 (diff) | |
download | FreeBSD-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.c | 10 | ||||
-rw-r--r-- | sys/netpfil/ipfw/ip_fw_sockopt.c | 1 |
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; |