X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_key.c;h=9aac1ebcfd24f0828b66e8d75ce1e5cd8f35716a;hb=5c6d7ae6344412f19fec578a328904c7c1700880;hp=ef1fe15fb47695adc0e7495de53572fab5ab5199;hpb=34a8c3858f30b02568c87f56a827f618aba6d6be;p=awesomized%2Flibmemcached diff --git a/libmemcached/memcached_key.c b/libmemcached/memcached_key.c index ef1fe15f..9aac1ebc 100644 --- a/libmemcached/memcached_key.c +++ b/libmemcached/memcached_key.c @@ -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;