summaryrefslogtreecommitdiffstats
path: root/nest/rt-table.c
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>2003-08-13 21:31:22 +0200
committerMartin Mares <mj@ucw.cz>2003-08-13 21:31:22 +0200
commit2adab6ae9cc586871a8854e51452839cb1dd1db0 (patch)
tree843c79afdeffb542b0b12d987f14cd47b2a543ae /nest/rt-table.c
parentb77834b3f41e551adc045d23f387533d428349ae (diff)
downloadbird-2adab6ae9cc586871a8854e51452839cb1dd1db0.tar
bird-2adab6ae9cc586871a8854e51452839cb1dd1db0.zip
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/rt-table.c')
-rw-r--r--nest/rt-table.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/nest/rt-table.c b/nest/rt-table.c
index 82acea0..7d8894d 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;
}
}