[PATCH] traceroute: free some dynamically allocated blocks returned by xzalloc()

guilherme.maciel.ferreira at gmail.com guilherme.maciel.ferreira at gmail.com
Thu Mar 7 18:47:28 UTC 2013


From: Guilherme Maciel Ferreira <guilherme.maciel.ferreira at gmail.com>

Signed-off-by: Guilherme Maciel Ferreira <guilherme.maciel.ferreira at gmail.com>
---
 networking/traceroute.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/networking/traceroute.c b/networking/traceroute.c
index 6b7b2eb..398ecde 100644
--- a/networking/traceroute.c
+++ b/networking/traceroute.c
@@ -805,6 +805,7 @@ common_traceroute_main(int op, char **argv)
 	char *waittime_str;
 	char *pausemsecs_str;
 	char *first_ttl_str;
+	char *dest_str;
 #if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
 	llist_t *source_route_list = NULL;
 	int lsrr = 0;
@@ -1059,8 +1060,10 @@ common_traceroute_main(int op, char **argv)
 	xsetgid(getgid());
 	xsetuid(getuid());
 
-	printf("traceroute to %s (%s)", argv[0],
-			xmalloc_sockaddr2dotted_noport(&dest_lsa->u.sa));
+	dest_str = xmalloc_sockaddr2dotted_noport(&dest_lsa->u.sa);
+	printf("traceroute to %s (%s)", argv[0], dest_str);
+	free(dest_str);
+
 	if (op & OPT_SOURCE)
 		printf(" from %s", source);
 	printf(", %d hops max, %d byte packets\n", max_ttl, packlen);
@@ -1216,6 +1219,10 @@ common_traceroute_main(int op, char **argv)
 		}
 	}
 
+	free(to);
+	free(lastaddr);
+	free(from_lsa);
+
 	return 0;
 }
 
-- 
1.7.5



More information about the busybox mailing list