From 93eeceb50078e6ca54636017ee843cbeffbb4179 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Tue, 5 May 2020 21:02:16 +0200 Subject: src: ct_timeout: release policy string and state list ================================================================= ==19037==ERROR: LeakSanitizer: detected memory leaks Direct leak of 18 byte(s) in 2 object(s) allocated from: #0 0x7ff6ee6f9810 in strdup (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a810) #1 0x7ff6ee22666d in xstrdup /home/pablo/devel/scm/git-netfilter/nftables/src/utils.c:75 #2 0x7ff6ee28cce9 in nft_parse /home/pablo/devel/scm/git-netfilter/nftables/src/parser_bison.c:5792 #3 0x4b903f302c8010a () Direct leak of 16 byte(s) in 1 object(s) allocated from: #0 0x7ff6ee7a8330 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xe9330) #1 0x7ff6ee226578 in xmalloc /home/pablo/devel/scm/git-netfilter/nftables/src/utils.c:36 SUMMARY: AddressSanitizer: 34 byte(s) leaked in 3 allocation(s). Signed-off-by: Pablo Neira Ayuso --- src/evaluate.c | 1 + src/parser_bison.y | 1 + 2 files changed, 2 insertions(+) diff --git a/src/evaluate.c b/src/evaluate.c index 4cf28987..9aa283fd 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -3902,6 +3902,7 @@ static int ct_timeout_evaluate(struct eval_ctx *ctx, struct obj *obj) ct->timeout[ts->timeout_index] = ts->timeout_value; list_del(&ts->head); + xfree(ts->timeout_str); xfree(ts); } diff --git a/src/parser_bison.y b/src/parser_bison.y index 4369ece6..39d3eac8 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -3954,6 +3954,7 @@ ct_timeout_config : PROTOCOL ct_l4protoname stmt_separator ct = &$0->ct_timeout; list_splice_tail($4, &ct->timeout_list); + xfree($4); } | L3PROTOCOL family_spec_explicit stmt_separator { -- cgit v1.2.3