From: Florian Westphal Date: Tue, 12 Dec 2023 09:44:35 +0000 (+0100) Subject: parser_bison: make sure obj_free releases timeout policies X-Git-Tag: v1.1.0~163 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d5a06af393eaf47571c884a265d1f6e6ba34ed97;p=thirdparty%2Fnftables.git parser_bison: make sure obj_free releases timeout policies obj_free() won't release them because ->type is still 0 at this point. Init this to CT_TIMEOUT. Signed-off-by: Florian Westphal --- diff --git a/src/parser_bison.y b/src/parser_bison.y index 70acfc575..d13fb961e 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -2513,6 +2513,7 @@ ct_timeout_block : /*empty */ { $$ = $-1; init_list_head(&$$->ct_timeout.timeout_list); + $$->type = NFT_OBJECT_CT_TIMEOUT; } | ct_timeout_block common_block | ct_timeout_block stmt_separator diff --git a/tests/shell/testcases/bogons/nft-f/ct_timeout_memleak_objfree b/tests/shell/testcases/bogons/nft-f/ct_timeout_memleak_objfree new file mode 100644 index 000000000..28b1a211d --- /dev/null +++ b/tests/shell/testcases/bogons/nft-f/ct_timeout_memleak_objfree @@ -0,0 +1,5 @@ +table ip filter { + ct timeout cttime { + protocol tcp + l3proto ip + policy = { close : 12s }