X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_key.c;h=bbbd940dbee3c0add01ea38a9fdd69c8517afd7f;hb=dbd274af6fc88a8f7a0456eb419a753dd842c88f;hp=ef1fe15fb47695adc0e7495de53572fab5ab5199;hpb=26c1a71921b1468d56f6edaa7e6e3855ec1c879f;p=awesomized%2Flibmemcached diff --git a/libmemcached/memcached_key.c b/libmemcached/memcached_key.c index ef1fe15f..bbbd940d 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(char **keys, size_t *key_length, + unsigned int 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;