diff options
author | Florian Westphal <fw@strlen.de> | 2023-12-12 10:44:35 +0100 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2023-12-12 16:33:18 +0100 |
commit | d5a06af393eaf47571c884a265d1f6e6ba34ed97 (patch) | |
tree | 23fac2b8ce25d2f964d270c9ce8d3552fd7e40fb | |
parent | d07c874797295f425541464ac84864e591fc0614 (diff) |
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 <fw@strlen.de>
-rw-r--r-- | src/parser_bison.y | 1 | ||||
-rw-r--r-- | tests/shell/testcases/bogons/nft-f/ct_timeout_memleak_objfree | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/parser_bison.y b/src/parser_bison.y index 70acfc57..d13fb961 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -2513,6 +2513,7 @@ ct_timeout_block : /*empty */ { $$ = $<obj>-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 00000000..28b1a211 --- /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 } |