- snprintf(str_port, NI_MAXSERV, "%u", (uint32_t)server->port);
+ assert(! server->address_info); // We cover the case where a programming mistake has been made.
+ if (server->address_info)
+ {
+ freeaddrinfo(server->address_info);
+ server->address_info= NULL;
+ server->address_info_next= NULL;
+ }
+
+ int length= snprintf(str_port, NI_MAXSERV, "%u", (uint32_t)server->port);
+ if (length >= NI_MAXSERV || length < 0)
+ return MEMCACHED_FAILURE;