From d0cf1040c703c7131c7c70d9de6bc2dd78b25d57 Mon Sep 17 00:00:00 2001 From: William Swanson Date: Wed, 24 Sep 2014 12:01:14 -0700 Subject: [PATCH] Correctly handle getaddrinfo return result The getaddrinfo function indicates failure with a non-zero return code, but this code is not necessarily negative. On platforms like Android where the code is positive, a failed call causes libgit2 to segfault. --- src/netops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/netops.c b/src/netops.c index 43b8c5311..adbae61c4 100644 --- a/src/netops.c +++ b/src/netops.c @@ -458,7 +458,7 @@ int gitno_connect(gitno_socket *s_out, const char *host, const char *port, int f hints.ai_socktype = SOCK_STREAM; hints.ai_family = AF_UNSPEC; - if ((ret = p_getaddrinfo(host, port, &hints, &info)) < 0) { + if ((ret = p_getaddrinfo(host, port, &hints, &info)) != 0) { giterr_set(GITERR_NET, "Failed to resolve address for %s: %s", host, p_gai_strerror(ret)); return -1;