aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--libsylph/socket.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ada13eec..2af0f66f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-11
+
+ * libsylph/socket.c: sock_info_connect_by_getaddrinfo():
+ win32: fixed crash on network failure.
+
2014-06-10
* libsylph/mbox.c
diff --git a/libsylph/socket.c b/libsylph/socket.c
index 18ffbe48..1d9c648f 100644
--- a/libsylph/socket.c
+++ b/libsylph/socket.c
@@ -1090,8 +1090,14 @@ static SockDesc sock_info_connect_by_getaddrinfo(SockInfo *sockinfo)
g_snprintf(port_str, sizeof(port_str), "%d", sockinfo->port);
if ((gai_error = getaddrinfo(sockinfo->hostname, port_str, &hints, &res)) != 0) {
+#ifdef G_OS_WIN32
+ fprintf(stderr, "getaddrinfo for %s:%s failed: errno: %d\n",
+ sockinfo->hostname, port_str, gai_error);
+#else
fprintf(stderr, "getaddrinfo for %s:%s failed: %s\n",
sockinfo->hostname, port_str, gai_strerror(gai_error));
+#endif
+ debug_print("getaddrinfo failed\n");
sockinfo->state = CONN_LOOKUPFAILED;
return INVALID_SOCKET;
}