aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2005-11-08 09:39:17 -0800
committerDavid S. Miller <davem@davemloft.net>2005-11-08 09:39:17 -0800
commitb541ca2c5a3f3f399d6f2ec9da33c1be5a8d8c19 (patch)
tree4e3596af9d6020820b751829b98fa80029b80499 /net/sched
parent18a0c23617a2cb1c2e55e650046c2084d823fde0 (diff)
downloadkernel_samsung_tuna-b541ca2c5a3f3f399d6f2ec9da33c1be5a8d8c19.zip
kernel_samsung_tuna-b541ca2c5a3f3f399d6f2ec9da33c1be5a8d8c19.tar.gz
kernel_samsung_tuna-b541ca2c5a3f3f399d6f2ec9da33c1be5a8d8c19.tar.bz2
[PKT_SCHED]: Correctly handle empty ematch trees
Fixes an invalid memory reference when the basic classifier is used without any ematches but just actions. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched')
-rw-r--r--net/sched/ematch.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/sched/ematch.c b/net/sched/ematch.c
index ebfe2e7..64b047c 100644
--- a/net/sched/ematch.c
+++ b/net/sched/ematch.c
@@ -298,6 +298,11 @@ int tcf_em_tree_validate(struct tcf_proto *tp, struct rtattr *rta,
struct tcf_ematch_tree_hdr *tree_hdr;
struct tcf_ematch *em;
+ if (!rta) {
+ memset(tree, 0, sizeof(*tree));
+ return 0;
+ }
+
if (rtattr_parse_nested(tb, TCA_EMATCH_TREE_MAX, rta) < 0)
goto errout;