PERFORCE change 130813 for review
Kip Macy
kmacy at FreeBSD.org
Thu Dec 13 13:30:00 PST 2007
http://perforce.freebsd.org/chv.cgi?CH=130813
Change 130813 by kmacy at 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
More information about the p4-projects
mailing list