From 74d4ddea3d90b451b1456af6e99e9b38082a77c6 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Sun, 2 May 2010 19:34:21 +0000 Subject: [PATCH] - Fixed a possible stack exaustion inside fnmatch(). Reporeted by Stefan Esser --- ext/standard/file.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ext/standard/file.c b/ext/standard/file.c index 71542ba7b8..420c7b8073 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -2469,6 +2469,10 @@ PHP_FUNCTION(fnmatch) php_error_docref(NULL TSRMLS_CC, E_WARNING, "Filename exceeds the maximum allowed length of %d characters", MAXPATHLEN); RETURN_FALSE; } + if (pattern_len >= MAXPATHLEN) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Pattern exceeds the maximum allowed length of %d characters", MAXPATHLEN); + RETURN_FALSE; + } RETURN_BOOL( ! fnmatch( pattern, filename, flags )); } -- 2.49.0