[nft PATCH] src: netlink: netlink_delinearize_table() may return NULL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Catch the error condition in callers to avoid crashes.

Fixes: c156232a530b3 ("src: add comment support when adding tables")
Signed-off-by: Phil Sutter <phil@xxxxxx>
---
 src/monitor.c | 4 ++++
 src/netlink.c | 3 ++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/monitor.c b/src/monitor.c
index e0f97b4a204dd..da1ad880f0c83 100644
--- a/src/monitor.c
+++ b/src/monitor.c
@@ -237,6 +237,10 @@ static int netlink_events_table_cb(const struct nlmsghdr *nlh, int type,
 
 	nlt = netlink_table_alloc(nlh);
 	t = netlink_delinearize_table(monh->ctx, nlt);
+	if (!t) {
+		nftnl_table_free(nlt);
+		return MNL_CB_ERROR;
+	}
 	cmd = netlink_msg2cmd(type, nlh->nlmsg_flags);
 
 	switch (monh->format) {
diff --git a/src/netlink.c b/src/netlink.c
index f2f4c5ea8c87b..94cbcbfc6c094 100644
--- a/src/netlink.c
+++ b/src/netlink.c
@@ -841,7 +841,8 @@ static int list_table_cb(struct nftnl_table *nlt, void *arg)
 	struct table *table;
 
 	table = netlink_delinearize_table(ctx, nlt);
-	list_add_tail(&table->list, &ctx->list);
+	if (table)
+		list_add_tail(&table->list, &ctx->list);
 
 	return 0;
 }
-- 
2.49.0





[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux