From: Tomasz Bursztyka Date: Thu, 28 Jun 2012 02:57:47 +0000 (+0000) Subject: netfilter: nfnetlink: check callbacks before using those in nfnetlink_rcv_msg X-Git-Tag: v3.6-rc1~125^2~281^2~1 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=59560a38a379b6c9048620ee10711d3c0c5974b3;p=linux-block.git netfilter: nfnetlink: check callbacks before using those in nfnetlink_rcv_msg nfnetlink_rcv_msg() might call a NULL callback which will cause NULL pointer dereference. Signed-off-by: Tomasz Bursztyka Signed-off-by: Pablo Neira Ayuso --- diff --git a/net/netfilter/nfnetlink.c b/net/netfilter/nfnetlink.c index 3e797d1fcb94..4acdd76bb6c4 100644 --- a/net/netfilter/nfnetlink.c +++ b/net/netfilter/nfnetlink.c @@ -184,9 +184,11 @@ replay: lockdep_is_held(&nfnl_mutex)) != ss || nfnetlink_find_client(type, ss) != nc) err = -EAGAIN; - else + else if (nc->call) err = nc->call(net->nfnl, skb, nlh, (const struct nlattr **)cda); + else + err = -EINVAL; nfnl_unlock(); } if (err == -EAGAIN)