aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--networking/traceroute.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/networking/traceroute.c b/networking/traceroute.c
index 6b7b2ebdd..0c18d6c0c 100644
--- a/networking/traceroute.c
+++ b/networking/traceroute.c
@@ -805,6 +805,7 @@ common_traceroute_main(int op, char **argv)
805 char *waittime_str; 805 char *waittime_str;
806 char *pausemsecs_str; 806 char *pausemsecs_str;
807 char *first_ttl_str; 807 char *first_ttl_str;
808 char *dest_str;
808#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE 809#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
809 llist_t *source_route_list = NULL; 810 llist_t *source_route_list = NULL;
810 int lsrr = 0; 811 int lsrr = 0;
@@ -1059,8 +1060,12 @@ common_traceroute_main(int op, char **argv)
1059 xsetgid(getgid()); 1060 xsetgid(getgid());
1060 xsetuid(getuid()); 1061 xsetuid(getuid());
1061 1062
1062 printf("traceroute to %s (%s)", argv[0], 1063 dest_str = xmalloc_sockaddr2dotted_noport(&dest_lsa->u.sa);
1063 xmalloc_sockaddr2dotted_noport(&dest_lsa->u.sa)); 1064 printf("traceroute to %s (%s)", argv[0], dest_str);
1065 if (ENABLE_FEATURE_CLEAN_UP) {
1066 free(dest_str);
1067 }
1068
1064 if (op & OPT_SOURCE) 1069 if (op & OPT_SOURCE)
1065 printf(" from %s", source); 1070 printf(" from %s", source);
1066 printf(", %d hops max, %d byte packets\n", max_ttl, packlen); 1071 printf(", %d hops max, %d byte packets\n", max_ttl, packlen);
@@ -1216,6 +1221,12 @@ common_traceroute_main(int op, char **argv)
1216 } 1221 }
1217 } 1222 }
1218 1223
1224 if (ENABLE_FEATURE_CLEAN_UP) {
1225 free(to);
1226 free(lastaddr);
1227 free(from_lsa);
1228 }
1229
1219 return 0; 1230 return 0;
1220} 1231}
1221 1232