]> granicus.if.org Git - php/commitdiff
MFH: Handle numeric keys passed via GPC
authorIlia Alshanetsky <iliaa@php.net>
Tue, 17 Jun 2003 17:15:16 +0000 (17:15 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Tue, 17 Jun 2003 17:15:16 +0000 (17:15 +0000)
main/main.c

index ac4e172ab0e9cd38e37b1b8139beaaa31285bcf2..8d141cbbb88f032c1c3ba7d90af110e8e111f3e2 100644 (file)
@@ -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);
                        }
                }