Index: sys/netinet/in_pcb.c =================================================================== RCS file: /home/ncvs/src/sys/netinet/in_pcb.c,v retrieving revision 1.80 diff -u -r1.80 in_pcb.c --- sys/netinet/in_pcb.c 2001/02/28 09:38:48 1.80 +++ sys/netinet/in_pcb.c 2001/03/04 21:20:04 @@ -562,19 +562,13 @@ * route deletion requires reference count to be <= zero */ if ((rt->rt_flags & RTF_DELCLONE) && - (rt->rt_flags & RTF_WASCLONED)) { - if (--rt->rt_refcnt <= 0) { - rt->rt_flags &= ~RTF_UP; - rtrequest(RTM_DELETE, rt_key(rt), - rt->rt_gateway, rt_mask(rt), - rt->rt_flags, (struct rtentry **)0); - } - else - /* - * more than one reference, bump it up - * again. - */ - rt->rt_refcnt++; + (rt->rt_flags & RTF_WASCLONED) && + (rt->rt_refcnt <= 1)) { + rt->rt_refcnt--; + rt->rt_flags &= ~RTF_UP; + rtrequest(RTM_DELETE, rt_key(rt), + rt->rt_gateway, rt_mask(rt), + rt->rt_flags, (struct rtentry **)0); } else rtfree(rt);