diff options
author | Sergey Vlasov <vsu@altlinux.ru> | 2007-04-27 05:17:19 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-04-27 05:17:19 -0400 |
commit | 912a41a4ab935ce8c4308428ec13fc7f8b1f18f4 (patch) | |
tree | eb41250e37c65f6af693748a88847a83f641fc49 /net/ipv4/fib_frontend.c | |
parent | ebbd90a730711280142017e482f27ec3fbb4f227 (diff) |
[IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res)
When CONFIG_IP_MULTIPLE_TABLES is enabled, the code in nl_fib_lookup()
needs to initialize the res.r field before fib_res_put(&res) - unlike
fib_lookup(), a direct call to ->tb_lookup does not set this field.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/fib_frontend.c')
-rw-r--r-- | net/ipv4/fib_frontend.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index 953dd458c239..837f2957fa83 100644 --- a/net/ipv4/fib_frontend.c +++ b/net/ipv4/fib_frontend.c | |||
@@ -777,6 +777,10 @@ static void nl_fib_lookup(struct fib_result_nl *frn, struct fib_table *tb ) | |||
777 | .tos = frn->fl_tos, | 777 | .tos = frn->fl_tos, |
778 | .scope = frn->fl_scope } } }; | 778 | .scope = frn->fl_scope } } }; |
779 | 779 | ||
780 | #ifdef CONFIG_IP_MULTIPLE_TABLES | ||
781 | res.r = NULL; | ||
782 | #endif | ||
783 | |||
780 | frn->err = -ENOENT; | 784 | frn->err = -ENOENT; |
781 | if (tb) { | 785 | if (tb) { |
782 | local_bh_disable(); | 786 | local_bh_disable(); |