Module Name: src Committed By: ozaki-r Date: Tue Apr 28 02:56:59 UTC 2015
Modified Files: src/sys/net: route.c Log Message: Fix previous sockaddr_copy never fail here so we can just return in success. The previous code worked anyway, so I didn't notice the mistake... To generate a diff of this commit: cvs rdiff -u -r1.142 -r1.143 src/sys/net/route.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/route.c diff -u src/sys/net/route.c:1.142 src/sys/net/route.c:1.143 --- src/sys/net/route.c:1.142 Tue Apr 7 04:36:19 2015 +++ src/sys/net/route.c Tue Apr 28 02:56:58 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: route.c,v 1.142 2015/04/07 04:36:19 ozaki-r Exp $ */ +/* $NetBSD: route.c,v 1.143 2015/04/28 02:56:58 ozaki-r Exp $ */ /*- * Copyright (c) 1998, 2008 The NetBSD Foundation, Inc. @@ -94,7 +94,7 @@ #include "opt_route.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: route.c,v 1.142 2015/04/07 04:36:19 ozaki-r Exp $"); +__KERNEL_RCSID(0, "$NetBSD: route.c,v 1.143 2015/04/28 02:56:58 ozaki-r Exp $"); #include <sys/param.h> #ifdef RTFLUSH_DEBUG @@ -1472,11 +1472,11 @@ rtcache_setdst(struct route *ro, const s if (ro->ro_sa->sa_family == sa->sa_family) { rtcache_clear(ro); sockaddr_copy(ro->ro_sa, ro->ro_sa->sa_len, sa); - sockaddr_free(ro->ro_sa); - } else { - /* free ro_sa, wrong family */ - rtcache_free(ro); + rtcache_invariants(ro); + return 0; } + /* free ro_sa, wrong family */ + rtcache_free(ro); } KASSERT(ro->_ro_rt == NULL);