From b674a8e78bf21985a05e17a3038f670bd8f46482 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Fri, 10 Jun 2016 14:47:53 +0200 Subject: src: check for strdup() errors from setters and parsers And pass up an error to the caller. Signed-off-by: Pablo Neira Ayuso --- src/rule.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/rule.c') diff --git a/src/rule.c b/src/rule.c index 80393c5..3ab29cf 100644 --- a/src/rule.c +++ b/src/rule.c @@ -441,11 +441,15 @@ int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r) if (tb[NFTA_RULE_TABLE]) { xfree(r->table); r->table = strdup(mnl_attr_get_str(tb[NFTA_RULE_TABLE])); + if (!r->table) + return -1; r->flags |= (1 << NFTNL_RULE_TABLE); } if (tb[NFTA_RULE_CHAIN]) { xfree(r->chain); r->chain = strdup(mnl_attr_get_str(tb[NFTA_RULE_CHAIN])); + if (!r->chain) + return -1; r->flags |= (1 << NFTNL_RULE_CHAIN); } if (tb[NFTA_RULE_HANDLE]) { -- cgit v1.2.3