From 47640634cff9932784a1a96836d6c5809cc8264d Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Fri, 11 Jun 2021 18:33:44 +0200 Subject: netlink: Avoid memleak in error path of netlink_delinearize_table() If parsing udata fails, 'table' has to be freed before returning to caller. Fixes: c156232a530b3 ("src: add comment support when adding tables") Signed-off-by: Phil Sutter --- src/netlink.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/netlink.c b/src/netlink.c index 1bbdf98b..be98bfb7 100644 --- a/src/netlink.c +++ b/src/netlink.c @@ -647,6 +647,7 @@ struct table *netlink_delinearize_table(struct netlink_ctx *ctx, udata = nftnl_table_get_data(nlt, NFTNL_TABLE_USERDATA, &ulen); if (nftnl_udata_parse(udata, ulen, table_parse_udata_cb, ud) < 0) { netlink_io_error(ctx, NULL, "Cannot parse userdata"); + table_free(table); return NULL; } if (ud[NFTNL_UDATA_TABLE_COMMENT]) -- cgit v1.2.3