felipe                                   Tue, 08 Mar 2011 19:56:29 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=309035

Log:
- Fixed bug #49608 (Using CachingIterator on DirectoryIterator instance 
segfaults)

Bug: http://bugs.php.net/49608 (Assigned) Using CachingIterator on 
DirectoryIterator instance segfaults
      
Changed paths:
    U   php/php-src/branches/PHP_5_3/NEWS
    U   php/php-src/branches/PHP_5_3/ext/spl/spl_directory.c
    U   php/php-src/trunk/ext/spl/spl_directory.c

Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS   2011-03-08 19:33:52 UTC (rev 309034)
+++ php/php-src/branches/PHP_5_3/NEWS   2011-03-08 19:56:29 UTC (rev 309035)
@@ -5,6 +5,10 @@
   . Fixed bug #54193 (Integer overflow in shmop_read()). (Felipe)
     Reported by Jose Carlos Norte <jose at eyeos dot org> (CVE-2011-1092)

+- SPL extension:
+  . Fixed bug #49608 (Using CachingIterator on DirectoryIterator instance
+    segfaults). (Felipe)
+
 03 Mar 2011, PHP 5.3.6RC2
 - Zend Engine:
   . Fixed bug #43512 (same parameter name can be used multiple times in

Modified: php/php-src/branches/PHP_5_3/ext/spl/spl_directory.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/spl/spl_directory.c        2011-03-08 
19:33:52 UTC (rev 309034)
+++ php/php-src/branches/PHP_5_3/ext/spl/spl_directory.c        2011-03-08 
19:56:29 UTC (rev 309035)
@@ -1596,7 +1596,9 @@

        iterator->intern.data = NULL; /* mark as unused */
        zval_ptr_dtor(&iterator->current);
-       zval_ptr_dtor(&zfree);
+       if (zfree) {
+               zval_ptr_dtor(&zfree);
+       }
 }
 /* }}} */


Modified: php/php-src/trunk/ext/spl/spl_directory.c
===================================================================
--- php/php-src/trunk/ext/spl/spl_directory.c   2011-03-08 19:33:52 UTC (rev 
309034)
+++ php/php-src/trunk/ext/spl/spl_directory.c   2011-03-08 19:56:29 UTC (rev 
309035)
@@ -1598,7 +1598,9 @@

        iterator->intern.data = NULL; /* mark as unused */
        zval_ptr_dtor(&iterator->current);
-       zval_ptr_dtor(&zfree);
+       if (zfree) {
+               zval_ptr_dtor(&zfree);
+       }
 }
 /* }}} */


-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to