From: Pablo Neira Ayuso Date: Fri, 13 May 2022 14:46:31 +0000 (+0200) Subject: netlink_delinearize: release last register on exit X-Git-Tag: v1.0.3~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5774135060bf1ee1ffb9f37133db04b0fdc65df6;p=thirdparty%2Fnftables.git netlink_delinearize: release last register on exit netlink_release_registers() does not release the expression in the last 32-bit register. struct netlink_parse_ctx { ... struct expr *registers[MAX_REGS + 1]; This array is MAX_REGS + 1 (verdict register + 16 32-bit registers). Fixes: 371c3a0bc3c2 ("netlink_delinearize: release expressions in context registers") Signed-off-by: Pablo Neira Ayuso --- diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c index a1b00dee..068c3bba 100644 --- a/src/netlink_delinearize.c +++ b/src/netlink_delinearize.c @@ -100,7 +100,7 @@ static void netlink_release_registers(struct netlink_parse_ctx *ctx) { int i; - for (i = 0; i < MAX_REGS; i++) + for (i = 0; i <= MAX_REGS; i++) expr_free(ctx->registers[i]); }