From fa253399af72f4968a7eddd5210066700b92d2c0 Mon Sep 17 00:00:00 2001 From: glebius Date: Thu, 11 Aug 2005 08:14:53 +0000 Subject: o Make rt_check() function more strict: - rt0 passed to rt_check() must not be NULL, assert this. - rt returned by rt_check() must be valid locked rtentry, if no error occured. o Modify callers, so that they never pass NULL rt0 to rt_check(). Reviewed by: sam, ume (nd6.c) --- sys/net/if_atmsubr.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'sys/net/if_atmsubr.c') diff --git a/sys/net/if_atmsubr.c b/sys/net/if_atmsubr.c index 6e662a0..a0e84ea 100644 --- a/sys/net/if_atmsubr.c +++ b/sys/net/if_atmsubr.c @@ -152,14 +152,16 @@ atm_output(struct ifnet *ifp, struct mbuf *m0, struct sockaddr *dst, case AF_INET: case AF_INET6: { - struct rtentry *rt; + struct rtentry *rt = NULL; /* * check route */ - error = rt_check(&rt, &rt0, dst); - if (error) - goto bad; - RT_UNLOCK(rt); + if (rt0 != NULL) { + error = rt_check(&rt, &rt0, dst); + if (error) + goto bad; + RT_UNLOCK(rt); + } if (dst->sa_family == AF_INET6) etype = ETHERTYPE_IPV6; -- cgit v1.1