--- src/sys/netinet/in_rmx.c 2004/12/21 02:54:15 1.7 +++ src/sys/netinet/in_rmx.c 2005/01/01 09:20:05 1.8 @@ -210,8 +210,12 @@ in_closeroute(struct radix_node *rn, str rt->rt_flags |= RTPRF_EXPIRING; rt->rt_rmx.rmx_expire = time_second + rtq_reallyold; } else { + /* + * Remove route from the radix tree, but defer deallocation + * until we return to rtfree(). + */ rtrequest(RTM_DELETE, rt_key(rt), rt->rt_gateway, rt_mask(rt), - rt->rt_flags, NULL); + rt->rt_flags, &rt); } }