From: Pablo Neira Ayuso Date: Mon, 10 Jun 2024 17:08:20 +0000 (+0200) Subject: monitor: too large shift exponent displaying payload expression X-Git-Tag: v1.1.0~30 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=016f37f1268fa1003c46c66655697d3f58d86598;p=thirdparty%2Fnftables.git monitor: too large shift exponent displaying payload expression ASAN reports too large shift exponent when displaying traces for raw payload expression: trace id ec23e848 ip x y packet: oif "wlan0" src/netlink.c:2100:32: runtime error: shift exponent 1431657095 is too large for 32-bit type 'int' skip if proto_unknown_template is set on in this payload expression. Fixes: be5d9120e81e ("nft monitor [ trace ]") Signed-off-by: Pablo Neira Ayuso --- diff --git a/src/netlink.c b/src/netlink.c index 0088b742..efb0b699 100644 --- a/src/netlink.c +++ b/src/netlink.c @@ -2096,6 +2096,7 @@ restart: /* Skip unknown and filtered expressions */ desc = lhs->payload.desc; if (lhs->dtype == &invalid_type || + lhs->payload.tmpl == &proto_unknown_template || desc->checksum_key == payload_hdr_field(lhs) || desc->format.filter & (1 << payload_hdr_field(lhs))) { expr_free(lhs);