diff options
author | Martin Mares <mj@ucw.cz> | 2003-08-13 19:31:22 +0000 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 2003-08-13 19:31:22 +0000 |
commit | 2adab6ae9cc586871a8854e51452839cb1dd1db0 (patch) | |
tree | 843c79afdeffb542b0b12d987f14cd47b2a543ae /nest | |
parent | b77834b3f41e551adc045d23f387533d428349ae (diff) |
This was a potential memory leak, but not the one Feela observed.
This one could happen when an import filter of some protocol modified
the rte (so that it would be rte_cow()ed) and later rejected it.
Diffstat (limited to 'nest')
-rw-r--r-- | nest/rt-table.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/nest/rt-table.c b/nest/rt-table.c index 82acea06..7d8894d1 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -184,6 +184,8 @@ do_rte_announce(struct announce_hook *a, net *net, rte *new, rte *old, ea_list * p->out_filter && f_run(p->out_filter, &new, &tmpa, rte_update_pool, FF_FORCE_TMPATTR) > F_ACCEPT) { rte_trace_out(D_FILTERS, p, new, "filtered out"); + if (new != new0) + rte_free(new); new = NULL; } } |