diff options
Diffstat (limited to 'ext/standard/dl.c')
| -rw-r--r-- | ext/standard/dl.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/standard/dl.c b/ext/standard/dl.c index 5de1780eac..4e4c8c2d3f 100644 --- a/ext/standard/dl.c +++ b/ext/standard/dl.c @@ -63,6 +63,11 @@ PHP_FUNCTION(dl) return; } + 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; + } + php_dl(filename, MODULE_TEMPORARY, return_value, 0 TSRMLS_CC); EG(full_tables_cleanup) = 1; } |
