iliaa           Tue Sep  4 12:51:49 2007 UTC

  Modified files:              (Branch: PHP_5_2)
    /php-src/ext/standard       file.c dir.c 
    /php-src    NEWS 
  Log:
  
  Fixed possible buffer overflows inside the fnmatch() and glob() functions
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/file.c?r1=1.409.2.6.2.27&r2=1.409.2.6.2.28&diff_format=u
Index: php-src/ext/standard/file.c
diff -u php-src/ext/standard/file.c:1.409.2.6.2.27 
php-src/ext/standard/file.c:1.409.2.6.2.28
--- php-src/ext/standard/file.c:1.409.2.6.2.27  Mon Sep  3 02:53:56 2007
+++ php-src/ext/standard/file.c Tue Sep  4 12:51:49 2007
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: file.c,v 1.409.2.6.2.27 2007/09/03 02:53:56 iliaa Exp $ */
+/* $Id: file.c,v 1.409.2.6.2.28 2007/09/04 12:51:49 iliaa Exp $ */
 
 /* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */
 
@@ -2518,6 +2518,11 @@
                == FAILURE) 
                return;
        
+       if (filename_len >= MAXPATHLEN) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Filename exceeds 
the maximum allowed length of %d characters", MAXPATHLEN);
+               RETURN_FALSE;
+       }
+
        RETURN_BOOL( ! fnmatch( pattern, filename, flags ));
 }
 /* }}} */
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/dir.c?r1=1.147.2.3.2.10&r2=1.147.2.3.2.11&diff_format=u
Index: php-src/ext/standard/dir.c
diff -u php-src/ext/standard/dir.c:1.147.2.3.2.10 
php-src/ext/standard/dir.c:1.147.2.3.2.11
--- php-src/ext/standard/dir.c:1.147.2.3.2.10   Wed Aug 22 14:59:44 2007
+++ php-src/ext/standard/dir.c  Tue Sep  4 12:51:49 2007
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: dir.c,v 1.147.2.3.2.10 2007/08/22 14:59:44 jani Exp $ */
+/* $Id: dir.c,v 1.147.2.3.2.11 2007/09/04 12:51:49 iliaa Exp $ */
 
 /* {{{ includes/startup/misc */
 
@@ -401,6 +401,11 @@
                return;
        }
 
+       if (pattern_len >= MAXPATHLEN) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Pattern exceeds 
the maximum allowed length of %d characters", MAXPATHLEN);
+               RETURN_FALSE;
+       }
+
        if ((GLOB_AVAILABLE_FLAGS & flags) != flags) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "At least one of 
the passed flags is invalid or not supported on this platform");
                RETURN_FALSE;
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.925&r2=1.2027.2.547.2.926&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.925 php-src/NEWS:1.2027.2.547.2.926
--- php-src/NEWS:1.2027.2.547.2.925     Mon Sep  3 15:36:04 2007
+++ php-src/NEWS        Tue Sep  4 12:51:49 2007
@@ -1,6 +1,9 @@
 PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 ?? ??? 20??, PHP 5.2.5
+- Fixed possible buffer overflows inside the fnmatch() and glob() functions 
+  reported by Laurent gaffie (Ilia)
+
 - Upgraded PCRE to version 7.3 (Nuno)
 - Added optional parameter $provide_object to debug_backtrace(). (Sebastian)
 

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

Reply via email to