Date: Thu, 13 Dec 2007 21:29:59 GMT From: Kip Macy <kmacy@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 130813 for review Message-ID: <200712132129.lBDLTxkd093423@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=130813 Change 130813 by kmacy@kmacy:storage:toestack on 2007/12/13 21:29:52 don't leak rtentry reference in case of failure Affected files ... .. //depot/projects/toestack/sys/netinet/tcp_ofld.c#9 edit Differences ... ==== //depot/projects/toestack/sys/netinet/tcp_ofld.c#9 (text+ko) ==== @@ -56,7 +56,7 @@ struct ifnet *ifp; struct toedev *tdev; struct rtentry *rt; - int error; + int error = 0; rt = rtalloc2(nam, 1, 0); if (rt == NULL) @@ -64,16 +64,23 @@ ifp = rt->rt_ifp; tdev = TOEDEV(ifp); - if (tdev == NULL) - return (EINVAL); - - if (tdev->tod_can_offload(tdev, so) == 0) - return (EINVAL); - + if (tdev == NULL) { + error = EINVAL; + goto fail; + } + + if (tdev->tod_can_offload(tdev, so) == 0) { + error = EINVAL; + goto fail; + } + if ((error = tdev->tod_connect(tdev, so, rt, nam))) - return (error); - + goto fail; + return (0); +fail: + RTFREE(rt); + return (error); } int
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200712132129.lBDLTxkd093423>