Made sure memory was freed after calling memcached_get.
[awesomized/libmemcached] / libmemcached / memcached_key.c
index ef1fe15fb47695adc0e7495de53572fab5ab5199..9aac1ebcfd24f0828b66e8d75ce1e5cd8f35716a 100644 (file)
@@ -1,14 +1,21 @@
 #include "common.h"
 
-memcached_return memcachd_key_test(char **keys, size_t *key_length, 
-                                   unsigned int number_of_keys)
+memcached_return memcached_key_test(const char * const *keys, 
+                                    const size_t *key_length, 
+                                    size_t number_of_keys)
 {
-  int x;
+  uint32_t x;
+  memcached_return rc;
 
   for (x= 0; x < number_of_keys; x++)
   {
-    int y;
-    for (y= 0; y < key_length[x]; y++)
+    size_t y;
+
+    rc= memcached_validate_key_length(*(key_length + x), false);
+    if (rc != MEMCACHED_SUCCESS)
+      return rc;
+    
+    for (y= 0; y < *(key_length + x); y++)
     {
       if ((isgraph(keys[x][y])) == 0)
         return MEMCACHED_BAD_KEY_PROVIDED;