diff options
author | Etienne Kneuss <colder@php.net> | 2011-08-08 12:05:34 +0000 |
---|---|---|
committer | Etienne Kneuss <colder@php.net> | 2011-08-08 12:05:34 +0000 |
commit | 482e4b9d703d7b4dba99b70ae9965faa0f727d58 (patch) | |
tree | 9d6e68a12de3bb2341d574e1b9bc0a469e82655c | |
parent | 7f203d43853b63a467c8d8562838b026f43b87f8 (diff) | |
download | php-git-482e4b9d703d7b4dba99b70ae9965faa0f727d58.tar.gz |
Fix validator for SplFileInfo constructor
-rwxr-xr-x | ext/spl/spl_directory.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c index 21986e171b..8870926942 100755 --- a/ext/spl/spl_directory.c +++ b/ext/spl/spl_directory.c @@ -633,6 +633,7 @@ static int spl_filesystem_object_constructor_validator(void *object_data TSRMLS_ * constructor or cleared its exception */ return (fsobj->u.dir.entry.d_name[0] != '\0' /* GlobIterator */ || + fsobj->_path != NULL /* SplFileInfo */ || fsobj->orig_path != NULL /* Spl[Temp]FileObject */); } /* }}} */ @@ -2431,7 +2432,9 @@ SPL_METHOD(SplFileObject, setFlags) { spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC); - zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &intern->flags); + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &intern->flags) == FAILURE) { + return; + } } /* }}} */ /* {{{ proto int SplFileObject::getFlags() |