X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_key.c;h=c992c338c7248a688197691db0024895b9d708d7;hb=c3dd2b1a405b440095f45b6f5ad8b4d4fd0d83a2;hp=ef1fe15fb47695adc0e7495de53572fab5ab5199;hpb=26c1a71921b1468d56f6edaa7e6e3855ec1c879f;p=m6w6%2Flibmemcached diff --git a/libmemcached/memcached_key.c b/libmemcached/memcached_key.c index ef1fe15f..c992c338 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, + 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;