X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_key.c;h=c8a3a0eb4f5d59d325f88614adc7ce3dad099827;hb=38c4b902f9971cf0e95add1e24a7cad86b5d38dd;hp=ef1fe15fb47695adc0e7495de53572fab5ab5199;hpb=34a8c3858f30b02568c87f56a827f618aba6d6be;p=awesomized%2Flibmemcached diff --git a/libmemcached/memcached_key.c b/libmemcached/memcached_key.c index ef1fe15f..c8a3a0eb 100644 --- a/libmemcached/memcached_key.c +++ b/libmemcached/memcached_key.c @@ -1,14 +1,22 @@ #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 **keys, 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;