From 67ab4c02086fb2d64bb588e98626053c403d13f1 Mon Sep 17 00:00:00 2001 From: david Date: Sun, 27 Sep 2009 18:08:42 +0000 Subject: [PATCH] Fix the initialization of sockaddr_in structures in traceroute name resolution. The initialization struct sockaddr_in sin = { AF_INET }; didn't set sin.sin_family correctly, leading to a later assertion failure: Failed to convert target address to presentation format!?! Error: Address family not supported by protocol family --- traceroute.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/traceroute.cc b/traceroute.cc index ec19c4f3d..273bbd814 100644 --- a/traceroute.cc +++ b/traceroute.cc @@ -1277,7 +1277,8 @@ void TracerouteState::resolve_hops() { i = 0; addr_iter = addrs.begin(); while (i < n) { - struct sockaddr_in sin = { AF_INET }; + struct sockaddr_in sin; + sin.sin_family = AF_INET; sin.sin_addr.s_addr = *addr_iter; targets[i] = new Target(); targets[i]->setTargetSockAddr((struct sockaddr_storage *) &sin, sizeof(sin));