OSDN Git Service

openvswitch: check for null pointer return from nla_nest_start_noflag
authorColin Ian King <colin.king@canonical.com>
Wed, 1 May 2019 13:41:58 +0000 (14:41 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 5 May 2019 07:52:07 +0000 (00:52 -0700)
The call to nla_nest_start_noflag can return null in the unlikely
event that nla_put returns -EMSGSIZE.  Check for this condition to
avoid a null pointer dereference on pointer nla_reply.

Addresses-Coverity: ("Dereference null return value")
Fixes: 11efd5cb04a1 ("openvswitch: Support conntrack zone limit")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Yi-Hung Wei <yihung.wei@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/openvswitch/conntrack.c

index bded321..caeabf5 100644 (file)
@@ -2161,6 +2161,10 @@ static int ovs_ct_limit_cmd_get(struct sk_buff *skb, struct genl_info *info)
                return PTR_ERR(reply);
 
        nla_reply = nla_nest_start_noflag(reply, OVS_CT_LIMIT_ATTR_ZONE_LIMIT);
+       if (!nla_reply) {
+               err = -EMSGSIZE;
+               goto exit_err;
+       }
 
        if (a[OVS_CT_LIMIT_ATTR_ZONE_LIMIT]) {
                err = ovs_ct_limit_get_zone_limit(