summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2007-09-18 20:19:34 +0000
committerStanislav Malyshev <stas@php.net>2007-09-18 20:19:34 +0000
commit280e6464e892d03cb976f46982c9ffa2764a7769 (patch)
treea851eca8b16836c7ae122a716e1408a52ad1334f /ext
parent785b9d76f8bb373a05b52b8c60e391eb0e7b6263 (diff)
downloadphp-git-280e6464e892d03cb976f46982c9ffa2764a7769.tar.gz
limit dl() argument length (patch by Christian Hoffmann)
Diffstat (limited to 'ext')
-rw-r--r--ext/standard/dl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/standard/dl.c b/ext/standard/dl.c
index 7b2f5df87f..a31f1b4b1b 100644
--- a/ext/standard/dl.c
+++ b/ext/standard/dl.c
@@ -73,6 +73,11 @@ PHP_FUNCTION(dl)
RETURN_FALSE;
}
+ if (Z_STRLEN_PP(file) >= MAXPATHLEN) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "File name exceeds the maximum allowed length of %d characters", MAXPATHLEN);
+ RETURN_FALSE;
+ }
+
if ((strncmp(sapi_module.name, "cgi", 3)!=0) &&
(strcmp(sapi_module.name, "cli")!=0) &&
(strncmp(sapi_module.name, "embed", 5)!=0)) {