]> git.ipfire.org Git - thirdparty/nftables.git/commit
rule: fix ASAN errors in chain priority to textual names
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 29 Feb 2024 15:50:37 +0000 (16:50 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 5 Mar 2024 17:41:06 +0000 (18:41 +0100)
commitff6135270616ccf4712990246cae850e64253516
tree4bc7785afdfe9c9e09ee94e6ead04395f6d7ea43
parent424a7f17848e9399ee3d360fcf134fb44f9a3ab0
rule: fix ASAN errors in chain priority to textual names

ASAN reports several errors when listing this ruleset:

 table ip x {
        chain y {
                type filter hook input priority -2147483648; policy accept;
        }
 }

src/rule.c:1002:8: runtime error: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself
src/rule.c:1001:11: runtime error: signed integer overflow: -2147483648 - 50 cannot be represented in type 'int'

Use int64_t for the offset to avoid an underflow when calculating
closest existing priority definition.

Use llabs() because abs() is undefined with INT32_MIN.

Fixes: c8a0e8c90e2d ("src: Set/print standard chain prios with textual names")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/rule.c