diff -Nur php5-5.2.4/ext/standard/file.c php5-5.2.4.new/ext/standard/file.c --- php5-5.2.4/ext/standard/file.c 2008-07-16 09:56:05.000000000 -0400 +++ php5-5.2.4.new/ext/standard/file.c 2008-07-16 09:56:18.000000000 -0400 @@ -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 )); } /* }}} */