diff options
author | Vincenzo Maffione <vmaffione@FreeBSD.org> | 2021-09-26 13:44:51 +0000 |
---|---|---|
committer | Vincenzo Maffione <vmaffione@FreeBSD.org> | 2022-12-31 12:41:42 +0000 |
commit | a95578c87cd082683281e68528251bcedb9ba4be (patch) | |
tree | 2bcf21bddd1500e62c5fb0bbfa9e5b4bca581506 | |
parent | e93766bcd4e18217b9594e827c28c6291d06c6e6 (diff) |
nemtap: lb app: Validate ihl field when hashing packet
MFC after: 1 week
(cherry picked from commit f7cef43aa9a357582a703c75dafa4a44c1b2f28c)
-rw-r--r-- | tools/tools/netmap/pkt_hash.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/tools/netmap/pkt_hash.c b/tools/tools/netmap/pkt_hash.c index 3071935e11ef..eb9704fd2058 100644 --- a/tools/tools/netmap/pkt_hash.c +++ b/tools/tools/netmap/pkt_hash.c @@ -150,7 +150,9 @@ decode_ip_n_hash(const struct ip *iph, uint8_t hash_split, uint8_t seed) { uint32_t rc = 0; - if (hash_split == 2) { + if (iph->ip_hl < 5 || iph->ip_hl * 4 > iph->ip_len) { + rc = 0; + } else if (hash_split == 2) { rc = sym_hash_fn(ntohl(iph->ip_src.s_addr), ntohl(iph->ip_dst.s_addr), ntohs(0xFFFD) + seed, |