Patch by Toru Maesaka for stats comparison
[m6w6/libmemcached] / lib / memcached_hosts.c
index 402018b4ae90cb58492776a5afed153c9c908b71..6f49b270a98b305426d168ea528b11c3d16e3a8c 100644 (file)
@@ -38,7 +38,7 @@ static void host_reset(memcached_server_st *host, char *hostname, unsigned int p
                        memcached_connection type)
 {
   memset(host,  0, sizeof(memcached_server_st));
-  memcpy(host->hostname, hostname, strlen(hostname));
+  strncpy(host->hostname, hostname, MEMCACHED_MAX_HOST_LENGTH - 1);
   host->port= port;
   host->fd= -1;
   host->type= type;
@@ -148,8 +148,8 @@ memcached_server_st *memcached_server_list_append(memcached_server_st *ptr,
   unsigned int count;
   memcached_server_st *new_host_list;
 
-  if (!hostname)
-    return ptr;
+  if (hostname == NULL || error == NULL)
+    return NULL;
 
   if (!port)
     port= MEMCACHED_DEFAULT_PORT;