diff options
author | Thomas Graf <tgraf@suug.ch> | 2005-11-08 09:39:17 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-11-08 09:39:17 -0800 |
commit | b541ca2c5a3f3f399d6f2ec9da33c1be5a8d8c19 (patch) | |
tree | 4e3596af9d6020820b751829b98fa80029b80499 /net | |
parent | 18a0c23617a2cb1c2e55e650046c2084d823fde0 (diff) | |
download | op-kernel-dev-b541ca2c5a3f3f399d6f2ec9da33c1be5a8d8c19.zip op-kernel-dev-b541ca2c5a3f3f399d6f2ec9da33c1be5a8d8c19.tar.gz |
[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')
-rw-r--r-- | net/sched/ematch.c | 5 |
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; |