]> err.no Git - linux-2.6/commitdiff
[IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res)
authorSergey Vlasov <vsu@altlinux.ru>
Fri, 27 Apr 2007 09:17:19 +0000 (02:17 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Apr 2007 09:17:19 +0000 (02:17 -0700)
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>
net/ipv4/fib_frontend.c

index 953dd458c23979cc68aef88e387a101e7b271be2..837f2957fa83d702a948dafb24b5cac1661a80ec 100644 (file)
@@ -777,6 +777,10 @@ static void nl_fib_lookup(struct fib_result_nl *frn, struct fib_table *tb )
                                                            .tos = frn->fl_tos,
                                                            .scope = frn->fl_scope } } };
 
+#ifdef CONFIG_IP_MULTIPLE_TABLES
+       res.r = NULL;
+#endif
+
        frn->err = -ENOENT;
        if (tb) {
                local_bh_disable();