diff --git a/apps/lb/pkt_hash.c b/apps/lb/pkt_hash.c index eb9704fd2..b8467be6a 100644 --- a/apps/lb/pkt_hash.c +++ b/apps/lb/pkt_hash.c @@ -150,7 +150,7 @@ decode_ip_n_hash(const struct ip *iph, uint8_t hash_split, uint8_t seed) { uint32_t rc = 0; - if (iph->ip_hl < 5 || iph->ip_hl * 4 > iph->ip_len) { + if (iph->ip_hl < 5 || (iph->ip_hl<<2) > ntohs(iph->ip_len)) { rc = 0; } else if (hash_split == 2) { rc = sym_hash_fn(ntohl(iph->ip_src.s_addr),