From: Ville Nuorvala Date: Tue, 8 Aug 2006 23:44:17 +0000 (-0700) Subject: [IPV6]: Make sure fib6_rule_lookup doesn't return NULL X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=b14295532421c40f82ee099fdbd3d011f022e756;p=openwrt%2Fstaging%2Fblogic.git [IPV6]: Make sure fib6_rule_lookup doesn't return NULL The callers of fib6_rule_lookup don't expect it to return NULL, therefore it must return ip6_null_entry whenever fib_rule_lookup fails. Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller --- diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c index bf9bba83b852..22a2fdb09831 100644 --- a/net/ipv6/fib6_rules.c +++ b/net/ipv6/fib6_rules.c @@ -63,7 +63,11 @@ struct dst_entry *fib6_rule_lookup(struct flowi *fl, int flags, if (arg.rule) fib_rule_put(arg.rule); - return (struct dst_entry *) arg.result; + if (arg.result) + return (struct dst_entry *) arg.result; + + dst_hold(&ip6_null_entry.u.dst); + return &ip6_null_entry.u.dst; } static int fib6_rule_action(struct fib_rule *rule, struct flowi *flp,