From a2f0a9c380b32fcbbce0ee05962f0315a665032d Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Tue, 17 Jun 2003 17:15:16 +0000 Subject: [PATCH] MFH: Handle numeric keys passed via GPC --- main/main.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/main/main.c b/main/main.c index ac4e172ab0..8d141cbbb8 100644 --- a/main/main.c +++ b/main/main.c @@ -1500,12 +1500,14 @@ static int php_hash_environment(TSRMLS_D) zval **data; char *string_key; uint string_key_len; + ulong num_key; zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(form_variables), &pos); while (zend_hash_get_current_data_ex(Z_ARRVAL_P(form_variables), (void **)&data, &pos) == SUCCESS) { - zend_hash_get_current_key_ex(Z_ARRVAL_P(form_variables), &string_key, &string_key_len, NULL, 0, &pos); - - ZEND_SET_SYMBOL_WITH_LENGTH(&EG(symbol_table), string_key, string_key_len, *data, (*data)->refcount+1, 0); + /* we only register string keys, since we cannot have $1234 */ + if (zend_hash_get_current_key_ex(Z_ARRVAL_P(form_variables), &string_key, &string_key_len, &num_key, 0, &pos) == HASH_KEY_IS_STRING) { + ZEND_SET_SYMBOL_WITH_LENGTH(&EG(symbol_table), string_key, string_key_len, *data, (*data)->refcount+1, 0); + } zend_hash_move_forward_ex(Z_ARRVAL_P(form_variables), &pos); } } -- 2.50.1