diff options
author | Martin Mares <mj@ucw.cz> | 2003-08-13 22:07:55 +0000 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 2003-08-13 22:07:55 +0000 |
commit | c197d44e1790ab1738cf9e438c2c91bd74e9b94e (patch) | |
tree | 69cea326ecb88a70f657fd98b613fd87879a66f3 /sysdep/unix/krt.c | |
parent | 13b75bacf7221eb655dcbed54e3c3605bea5169e (diff) |
This probably IS the memory leak we're looking for. Alien routes weren't
correctly disposed of.
Diffstat (limited to 'sysdep/unix/krt.c')
-rw-r--r-- | sysdep/unix/krt.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sysdep/unix/krt.c b/sysdep/unix/krt.c index e6481844..ff688b90 100644 --- a/sysdep/unix/krt.c +++ b/sysdep/unix/krt.c @@ -513,7 +513,10 @@ krt_got_route(struct krt_proto *p, rte *e) if (KRT_CF->learn) krt_learn_scan(p, e); else - krt_trace_in(p, e, "alien route, ignored"); + { + krt_trace_in(p, e, "alien route, ignored"); + rte_free(e); + } return; } #endif @@ -522,6 +525,7 @@ krt_got_route(struct krt_proto *p, rte *e) { /* Route to this destination was already seen. Strange, but it happens... */ krt_trace_in(p, e, "already seen"); + rte_free(e); return; } |