]> granicus.if.org Git - php/commitdiff
MFB51: Fixed bug #36134 (DirectoryIterator constructor failed to detect
authorIlia Alshanetsky <iliaa@php.net>
Mon, 23 Jan 2006 15:24:41 +0000 (15:24 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Mon, 23 Jan 2006 15:24:41 +0000 (15:24 +0000)
empty directory names).

ext/spl/spl_directory.c

index a3290f02d98f117e28fc51bc17e2c834c3db6277..ca3153050364fed0abc0945fb8def53c5c4b1b5f 100755 (executable)
@@ -393,6 +393,12 @@ SPL_METHOD(DirectoryIterator, __construct)
                return;
        }
 
+       if (!len) {
+               php_set_error_handling(EH_NORMAL, NULL TSRMLS_CC);
+                zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Directory name must not be empty.");
+                return;
+       }
+
        intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
        spl_filesystem_dir_open(intern, path TSRMLS_CC);
        intern->u.dir.is_recursive = instanceof_function(intern->std.ce, U_CLASS_ENTRY(spl_ce_RecursiveDirectoryIterator) TSRMLS_CC) ? 1 : 0;