Skip to content

Commit 7266824

Browse files
committed
Fix object key validation
1 parent 65ebcd5 commit 7266824

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

php_memcached.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -576,7 +576,7 @@ static void php_memc_get_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key)
576576
MEMC_METHOD_FETCH_OBJECT;
577577
i_obj->rescode = MEMCACHED_SUCCESS;
578578

579-
if (key_len == 0 || strchr(key, ' ')) {
579+
if (key_len == 0 || key_len > 250 || strchr(key, ' ') || strchr(key, '\n')) {
580580
i_obj->rescode = MEMCACHED_BAD_KEY_PROVIDED;
581581
RETURN_FROM_GET;
582582
}
@@ -1448,7 +1448,7 @@ static void php_memc_store_impl(INTERNAL_FUNCTION_PARAMETERS, int op, zend_bool
14481448
MEMC_METHOD_FETCH_OBJECT;
14491449
i_obj->rescode = MEMCACHED_SUCCESS;
14501450

1451-
if (key_len == 0 || strchr(key, ' ')) {
1451+
if (key_len == 0 || key_len > 250 || strchr(key, ' ') || strchr(key, '\n')) {
14521452
i_obj->rescode = MEMCACHED_BAD_KEY_PROVIDED;
14531453
RETURN_FALSE;
14541454
}
@@ -1599,7 +1599,7 @@ static void php_memc_cas_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key)
15991599
MEMC_METHOD_FETCH_OBJECT;
16001600
i_obj->rescode = MEMCACHED_SUCCESS;
16011601

1602-
if (key_len == 0 || strchr(key, ' ')) {
1602+
if (key_len == 0 || key_len > 250 || strchr(key, ' ') || strchr(key, '\n')) {
16031603
i_obj->rescode = MEMCACHED_BAD_KEY_PROVIDED;
16041604
RETURN_FALSE;
16051605
}
@@ -1717,7 +1717,7 @@ static void php_memc_delete_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key)
17171717
MEMC_METHOD_FETCH_OBJECT;
17181718
i_obj->rescode = MEMCACHED_SUCCESS;
17191719

1720-
if (key_len == 0 || strchr(key, ' ')) {
1720+
if (key_len == 0 || key_len > 250 || strchr(key, ' ') || strchr(key, '\n')) {
17211721
i_obj->rescode = MEMCACHED_BAD_KEY_PROVIDED;
17221722
RETURN_FALSE;
17231723
}
@@ -1817,7 +1817,7 @@ static void php_memc_incdec_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key,
18171817
MEMC_METHOD_FETCH_OBJECT;
18181818
i_obj->rescode = MEMCACHED_SUCCESS;
18191819

1820-
if (key_len == 0 || strchr(key, ' ')) {
1820+
if (key_len == 0 || key_len > 250 || strchr(key, ' ') || strchr(key, '\n')) {
18211821
i_obj->rescode = MEMCACHED_BAD_KEY_PROVIDED;
18221822
RETURN_FALSE;
18231823
}

0 commit comments

Comments
 (0)