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