Commit a01c1335 authored by David S. Miller's avatar David S. Miller

decnet: Don't leak entries when rebuilding zone.

As noticed by Ben Hutchings, when we move entries from
one table to another we leak all except the first entry.

Put back the "next" variable removed by commit
9bf9055e ("decnet: Fix set-but-unused
variable.") and use it properly.
Reported-by: default avatarBen Hutchings <bhutchings@solarflare.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 482e3feb
...@@ -123,11 +123,12 @@ static inline void dn_rebuild_zone(struct dn_zone *dz, ...@@ -123,11 +123,12 @@ static inline void dn_rebuild_zone(struct dn_zone *dz,
struct dn_fib_node **old_ht, struct dn_fib_node **old_ht,
int old_divisor) int old_divisor)
{ {
struct dn_fib_node *f, **fp, *next;
int i; int i;
struct dn_fib_node *f, **fp;
for(i = 0; i < old_divisor; i++) { for(i = 0; i < old_divisor; i++) {
for(f = old_ht[i]; f; f = f->fn_next) { for(f = old_ht[i]; f; f = next) {
next = f->fn_next;
for(fp = dn_chain_p(f->fn_key, dz); for(fp = dn_chain_p(f->fn_key, dz);
*fp && dn_key_leq((*fp)->fn_key, f->fn_key); *fp && dn_key_leq((*fp)->fn_key, f->fn_key);
fp = &(*fp)->fn_next) fp = &(*fp)->fn_next)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment