DORMANTno replies

[iproute2 PATCH 10/11] Fix file descriptor leak in do_tunnels_list()

From: Thomas Jarosch <hidden>
Date: 2011-10-03 15:26:18
Subsystem: the rest · Maintainer: Linus Torvalds

Detected by cppcheck.

Signed-off-by: Thomas Jarosch <redacted>
---
 ip/iptunnel.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/ip/iptunnel.c b/ip/iptunnel.c
index f038f0a..3d41a27 100644
--- a/ip/iptunnel.c
+++ b/ip/iptunnel.c
@@ -411,6 +411,7 @@ static int do_tunnels_list(struct ip_tunnel_parm *p)
 	if (!fgets(buf, sizeof(buf), fp) ||
 	    !fgets(buf, sizeof(buf), fp)) {
 		fprintf(stderr, "/proc/net/dev read error\n");
+		fclose(fp);
 		return -1;
 	}
 
@@ -421,6 +422,7 @@ static int do_tunnels_list(struct ip_tunnel_parm *p)
 		if ((ptr = strchr(buf, ':')) == NULL ||
 		    (*ptr++ = 0, sscanf(buf, "%s", name) != 1)) {
 			fprintf(stderr, "Wrong format of /proc/net/dev. Sorry.\n");
+			fclose(fp);
 			return -1;
 		}
 		if (sscanf(ptr, "%ld%ld%ld%ld%ld%ld%ld%*d%ld%ld%ld%ld%ld%ld%ld",
@@ -462,6 +464,7 @@ static int do_tunnels_list(struct ip_tunnel_parm *p)
 		}
 		printf("\n");
 	}
+	fclose(fp);
 	return 0;
 }
 
-- 
1.7.4.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help