diff --git a/mongoose.c b/mongoose.c
index a560ca0aa766a74ff166917643bbfa2826549501..2530640aa855ce4d556546cfbb90c7bdc653baa1 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -593,28 +593,28 @@ int ns_socketpair(sock_t sp[2]) {
 
 // TODO(lsm): use non-blocking resolver
 static int ns_resolve2(const char *host, struct in_addr *ina) {
-	int rv = 0;
-	struct addrinfo hints, *servinfo, *p;
-	struct sockaddr_in *h = NULL;
-	char *ip = malloc(17);
-	memset(ip, '\0', 17);
-
-	memset(&hints, 0, sizeof hints);
-	hints.ai_family = AF_INET;
-	hints.ai_socktype = SOCK_STREAM;
-
-	if((rv = getaddrinfo(host, NULL , NULL, &servinfo)) != 0) {
-		
-		return 0;
-	}
-
-	for(p = servinfo; p != NULL; p = p->ai_next) {
-		memcpy(&h, &p->ai_addr, sizeof(struct sockaddr_in *));
-		memcpy(ina, &h->sin_addr, sizeof(ina));
-	}
-
-	freeaddrinfo(servinfo);
-	return 1;
+  int rv = 0;
+  struct addrinfo hints, *servinfo, *p;
+  struct sockaddr_in *h = NULL;
+  char *ip = NS_MALLOC(17);
+  memset(ip, '\0', 17);
+ 
+  memset(&hints, 0, sizeof hints);
+  hints.ai_family = AF_INET;
+  hints.ai_socktype = SOCK_STREAM;
+
+  if((rv = getaddrinfo(host, NULL , NULL, &servinfo)) != 0) {
+    DBG(("getaddrinfo(%s) failed: %s", host, strerror(errno)));
+    return 0;
+  }
+
+  for(p = servinfo; p != NULL; p = p->ai_next) {
+    memcpy(&h, &p->ai_addr, sizeof(struct sockaddr_in *));
+    memcpy(ina, &h->sin_addr, sizeof(ina));
+  }
+
+  freeaddrinfo(servinfo);
+  return 1;
 }
 
 // Resolve FDQN "host", store IP address in the "ip".