diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2012-07-23 03:46:28 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-23 03:59:54 -0400 |
commit | 5b3e7e6cb5771bedda51cdb6f715d1da8cd9e644 (patch) | |
tree | f722cb5fa6902c344e5345e3156df61a30f4f6a4 /net/openvswitch | |
parent | 563d34d05786263893ba4a1042eb9b9374127cf5 (diff) |
openvswitch: potential NULL deref in sample()
If there is no OVS_SAMPLE_ATTR_ACTIONS set then "acts_list" is NULL and
it leads to a NULL dereference when we call nla_len(acts_list). This
is a static checker fix, not something I have seen in testing.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch')
-rw-r--r-- | net/openvswitch/actions.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c index f3f96badf5aa..320fa0e6951a 100644 --- a/net/openvswitch/actions.c +++ b/net/openvswitch/actions.c | |||
@@ -325,6 +325,9 @@ static int sample(struct datapath *dp, struct sk_buff *skb, | |||
325 | } | 325 | } |
326 | } | 326 | } |
327 | 327 | ||
328 | if (!acts_list) | ||
329 | return 0; | ||
330 | |||
328 | return do_execute_actions(dp, skb, nla_data(acts_list), | 331 | return do_execute_actions(dp, skb, nla_data(acts_list), |
329 | nla_len(acts_list), true); | 332 | nla_len(acts_list), true); |
330 | } | 333 | } |