]> granicus.if.org Git - php/commitdiff
limit dl() argument length (patch by Christian Hoffmann)
authorStanislav Malyshev <stas@php.net>
Tue, 18 Sep 2007 20:21:04 +0000 (20:21 +0000)
committerStanislav Malyshev <stas@php.net>
Tue, 18 Sep 2007 20:21:04 +0000 (20:21 +0000)
ext/standard/dl.c

index 5de1780eac12619f2828b39c669308c623272aa1..4e4c8c2d3fd5513478e737bc38e517da16e8b9b1 100644 (file)
@@ -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;
 }