Fix for lp:860465
[awesomized/libmemcached] / libmemcached / protocol / cache.c
index 52904df4a7ff3e70fbc8268b908bcb76d6e7b4d9..f92fdec106cdac5f08b74eec8223eddb97a5505a 100644 (file)
@@ -56,7 +56,9 @@ cache_t* cache_create(const char *name, size_t bufsize, size_t align,
                       cache_constructor_t* constructor,
                       cache_destructor_t* destructor) {
     cache_t* ret = calloc(1, sizeof(cache_t));
-    char* nm = strdup(name);
+    size_t name_length= strlen(name);
+    char* nm= calloc(1, (sizeof(char) * name_length) +1);
+    memcpy(nm, name, name_length);
     void** ptr = calloc(initial_pool_size, bufsize);
     if (ret == NULL || nm == NULL || ptr == NULL ||
         pthread_mutex_init(&ret->mutex, NULL) == -1) {