diff options
author | Gustavo A. R. Silva <garsilva@embeddedor.com> | 2018-02-07 07:49:57 -0800 |
---|---|---|
committer | Pravin B Shelar <pshelar@ovn.org> | 2018-02-12 22:39:19 -0800 |
commit | b88ec467c6059f5cf3f0f27507f0515271067388 (patch) | |
tree | 504fd7c68637bd9af86a0e968f655293f12da029 /datapath | |
parent | ab86f680831ca239e451106a82006a9eae10394c (diff) | |
download | openvswitch-b88ec467c6059f5cf3f0f27507f0515271067388.tar.gz |
datapath: meter: fix NULL pointer dereference in ovs_meter_cmd_reply_start
Upstream commit:
commit b74912a2fdae9aadd20da502644aa8848c861954
Author: Gustavo A. R. Silva <garsilva@embeddedor.com>
Date: Tue Nov 14 14:26:16 2017 -0600
openvswitch: meter: fix NULL pointer dereference in ovs_meter_cmd_reply_star
It seems that the intention of the code is to null check the value
returned by function genlmsg_put. But the current code is null
checking the address of the pointer that holds the value returned
by genlmsg_put.
Fix this by properly null checking the value returned by function
genlmsg_put in order to avoid a pontential null pointer dereference.
Addresses-Coverity-ID: 1461561 ("Dereference before null check")
Addresses-Coverity-ID: 1461562 ("Dereference null return value")
Fixes: 96fbc13d7e77 ("openvswitch: Add meter infrastructure")
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Gustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: Greg Rose <gvrose8192@gmail.com>
Acked-by: Pravin B Shelar <pshelar@ovn.org>
Diffstat (limited to 'datapath')
-rw-r--r-- | datapath/meter.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/datapath/meter.c b/datapath/meter.c index 7b9391d67..d36870b0e 100644 --- a/datapath/meter.c +++ b/datapath/meter.c @@ -99,7 +99,7 @@ ovs_meter_cmd_reply_start(struct genl_info *info, u8 cmd, *ovs_reply_header = genlmsg_put(skb, info->snd_portid, info->snd_seq, &dp_meter_genl_family, 0, cmd); - if (!ovs_reply_header) { + if (!*ovs_reply_header) { nlmsg_free(skb); return ERR_PTR(-EMSGSIZE); } |