iliaa           Sat Mar 10 19:20:16 2007 UTC

  Modified files:              (Branch: PHP_5_2)
    /php-src/ext/standard       basic_functions.c 
  Log:
  
  Added additional checks for long input arrays inside
  import_request_variables().
  
  # Missing checks identified by Stefan Esser
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.725.2.31.2.46&r2=1.725.2.31.2.47&diff_format=u
Index: php-src/ext/standard/basic_functions.c
diff -u php-src/ext/standard/basic_functions.c:1.725.2.31.2.46 
php-src/ext/standard/basic_functions.c:1.725.2.31.2.47
--- php-src/ext/standard/basic_functions.c:1.725.2.31.2.46      Fri Mar  9 
01:48:56 2007
+++ php-src/ext/standard/basic_functions.c      Sat Mar 10 19:20:16 2007
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: basic_functions.c,v 1.725.2.31.2.46 2007/03/09 01:48:56 iliaa Exp $ */
+/* $Id: basic_functions.c,v 1.725.2.31.2.47 2007/03/10 19:20:16 iliaa Exp $ */
 
 #include "php.h"
 #include "php_streams.h"
@@ -6259,6 +6259,19 @@
                        ) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attempted 
super-global (%s) variable overwrite.", hash_key->arKey);
                        return 0;       
+               } else if (*hash_key->arKey == 'H' && 
+                               (
+                                       !strcmp(hash_key->arKey, 
"HTTP_POST_VARS") || 
+                                       !strcmp(hash_key->arKey, 
"HTTP_GET_VARS") || 
+                                       !strcmp(hash_key->arKey, 
"HTTP_COOKIE_VARS") || 
+                                       !strcmp(hash_key->arKey, 
"HTTP_ENV_VARS") || 
+                                       !strcmp(hash_key->arKey, 
"HTTP_SERVER_VARS") || 
+                                       !strcmp(hash_key->arKey, 
"HTTP_RAW_POST_DATA") || 
+                                       !strcmp(hash_key->arKey, 
"HTTP_POST_FILES")
+                               )
+                       ) {
+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "Attempted 
long input array (%s) overwrite.", hash_key->arKey);
+                       return 0;       
                }
        }
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to