From: Hangbin Liu Date: Mon, 25 Dec 2017 03:34:54 +0000 (+0800) Subject: netfilter: nf_tables: fix potential NULL-ptr deref in nf_tables_dump_obj_done() X-Git-Tag: v4.14.24~61 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cbc3dbfe4f37d541d57c0acafa8bb463ed178ef5;p=platform%2Fkernel%2Flinux-exynos.git netfilter: nf_tables: fix potential NULL-ptr deref in nf_tables_dump_obj_done() [ Upstream commit 8bea728dce8972e534e6b99fd550f7b5cc3864e8 ] If there is no NFTA_OBJ_TABLE and NFTA_OBJ_TYPE, the c.data will be NULL in nf_tables_getobj(). So before free filter->table in nf_tables_dump_obj_done(), we need to check if filter is NULL first. Fixes: e46abbcc05aa ("netfilter: nf_tables: Allow table names of up to 255 chars") Signed-off-by: Hangbin Liu Acked-by: Phil Sutter Signed-off-by: Pablo Neira Ayuso Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index ce49946..5b504aa 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -4596,8 +4596,10 @@ static int nf_tables_dump_obj_done(struct netlink_callback *cb) { struct nft_obj_filter *filter = cb->data; - kfree(filter->table); - kfree(filter); + if (filter) { + kfree(filter->table); + kfree(filter); + } return 0; }