]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
evaluate: fix memleak in stmt_evaluate_reject_icmp()
authorPablo Neira Ayuso <pablo@netfilter.org>
Wed, 6 May 2020 20:48:04 +0000 (22:48 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 6 May 2020 20:50:17 +0000 (22:50 +0200)
==26297==ERROR: LeakSanitizer: detected memory leaks
                                                                                               c
Direct leak of 512 byte(s) in 4 object(s) allocated from:
    #0 0x7f46f8167330 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xe9330)
    #1 0x7f46f7b3cf1c in xmalloc /home/pablo/devel/scm/git-netfilter/nftables/src/utils.c:36
    #2 0x7f46f7b3d075 in xzalloc /home/pablo/devel/scm/git-netfilter/nftables/src/utils.c:65
    #3 0x7f46f7a85760 in expr_alloc /home/pablo/devel/scm/git-netfilter/nftables/src/expression.c:45
    #4 0x7f46f7a8915d in constant_expr_alloc /home/pablo/devel/scm/git-netfilter/nftables/src/expression.c:388
    #5 0x7f46f7a7bad4 in symbolic_constant_parse /home/pablo/devel/scm/git-netfilter/nftables/src/datatype.c:173
    #6 0x7f46f7a7af5f in symbol_parse /home/pablo/devel/scm/git-netfilter/nftables/src/datatype.c:132
    #7 0x7f46f7abf2bd in stmt_evaluate_reject_icmp /home/pablo/devel/scm/git-netfilter/nftables./src/evaluate.c:2739
    [...]
SUMMARY: AddressSanitizer: 544 byte(s) leaked in 8 allocation(s).

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/evaluate.c

index 9aa283fd2e12b28c7575deb0e1dc3263f9fe1082..de5f60ec1f4d2c1fa30b1f9090ad28fbbb45f290 100644 (file)
@@ -2742,6 +2742,8 @@ static int stmt_evaluate_reject_icmp(struct eval_ctx *ctx, struct stmt *stmt)
                return -1;
        }
        stmt->reject.icmp_code = mpz_get_uint8(code->value);
+       expr_free(code);
+
        return 0;
 }