diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2012-07-23 07:46:28 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-23 07:59:54 (GMT) |
commit | 5b3e7e6cb5771bedda51cdb6f715d1da8cd9e644 (patch) | |
tree | f722cb5fa6902c344e5345e3156df61a30f4f6a4 /net/openvswitch/actions.c | |
parent | 563d34d05786263893ba4a1042eb9b9374127cf5 (diff) | |
download | linux-fsl-qoriq-5b3e7e6cb5771bedda51cdb6f715d1da8cd9e644.tar.xz |
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/actions.c')
-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 f3f96ba..320fa0e 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, } } + if (!acts_list) + return 0; + return do_execute_actions(dp, skb, nla_data(acts_list), nla_len(acts_list), true); } |