summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/netlink.c4
-rw-r--r--src/segtree.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/netlink.c b/src/netlink.c
index bb014320..fb0a17ba 100644
--- a/src/netlink.c
+++ b/src/netlink.c
@@ -1236,8 +1236,10 @@ int netlink_get_setelem(struct netlink_ctx *ctx, const struct handle *h,
netlink_dump_set(nls, ctx);
nls_out = mnl_nft_setelem_get_one(ctx, nls);
- if (!nls_out)
+ if (!nls_out) {
+ nftnl_set_free(nls);
return -1;
+ }
ctx->set = set;
set->init = set_expr_alloc(loc, set);
diff --git a/src/segtree.c b/src/segtree.c
index 2b5831f2..266a2b4d 100644
--- a/src/segtree.c
+++ b/src/segtree.c
@@ -744,6 +744,8 @@ int get_set_decompose(struct table *table, struct set *set)
errno = ENOENT;
return -1;
}
+ expr_free(left);
+ expr_free(i);
compound_expr_add(new_init, range);
left = NULL;