They don't set ret to anything, and ret is not initialized, so we return
garbage.
Fixes: 59cb13b ("src: fix missing error checking in parser functions")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
}
if (tb[NFTA_SET_ELEM_EXPR]) {
e->expr = nftnl_expr_parse(tb[NFTA_SET_ELEM_EXPR]);
- if (e->expr == NULL)
+ if (e->expr == NULL) {
+ ret = -1;
goto out_set_elem;
+ }
e->flags |= (1 << NFTNL_SET_ELEM_EXPR);
}
if (tb[NFTA_SET_ELEM_USERDATA]) {
e->user.len = mnl_attr_get_payload_len(tb[NFTA_SET_ELEM_USERDATA]);
e->user.data = malloc(e->user.len);
- if (e->user.data == NULL)
+ if (e->user.data == NULL) {
+ ret = -1;
goto out_expr;
+ }
memcpy(e->user.data, udata, e->user.len);
e->flags |= (1 << NFTNL_RULE_USERDATA);
}