]> granicus.if.org Git - php/commitdiff
fix memory corruption due to double destruction of default dir handle
authorAntony Dovgal <tony2001@php.net>
Wed, 5 Mar 2008 09:28:41 +0000 (09:28 +0000)
committerAntony Dovgal <tony2001@php.net>
Wed, 5 Mar 2008 09:28:41 +0000 (09:28 +0000)
(detected by ext/standard/tests/dir/readdir_variation6.phpt)

ext/standard/dir.c

index bf2c3ca4eb1a631c2f1a0161e695ac695a653a2a..64d1049ece44779c4b76eb9aa3bdcdfc633cca1e 100644 (file)
@@ -283,9 +283,9 @@ PHP_FUNCTION(closedir)
 
        if (dirp->rsrc_id == DIRG(default_dir)) {
                php_set_default_dir(-1 TSRMLS_CC);
+       } else {
+               zend_list_delete(dirp->rsrc_id);
        }
-
-       zend_list_delete(dirp->rsrc_id);
 }
 /* }}} */