X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=net%2Fsched%2Fematch.c;h=5e6f82e0e6f3ca7c092e3a1628d69b416604d0f5;hb=e5a4a72d4f88f4389e9340d383ca67031d1b8536;hp=d421ec728ee7e795b3ddb3795859242dd5fa5b2b;hpb=268bcca1e7b0d244afd07ea89cda672e61b0fc4a;p=linux-2.6 diff --git a/net/sched/ematch.c b/net/sched/ematch.c index d421ec728e..5e6f82e0e6 100644 --- a/net/sched/ematch.c +++ b/net/sched/ematch.c @@ -409,7 +409,7 @@ void tcf_em_tree_destroy(struct tcf_proto *tp, struct tcf_ematch_tree *tree) if (em->ops) { if (em->ops->destroy) em->ops->destroy(tp, em); - else if (!tcf_em_is_simple(em) && em->data) + else if (!tcf_em_is_simple(em)) kfree((void *) em->data); module_put(em->ops->owner); } @@ -417,6 +417,7 @@ void tcf_em_tree_destroy(struct tcf_proto *tp, struct tcf_ematch_tree *tree) tree->hdr.nmatches = 0; kfree(tree->matches); + tree->matches = NULL; } EXPORT_SYMBOL(tcf_em_tree_destroy);