File tree Expand file tree Collapse file tree 2 files changed +50
-1
lines changed Expand file tree Collapse file tree 2 files changed +50
-1
lines changed Original file line number Diff line number Diff line change @@ -636,7 +636,7 @@ static inline HashTable *spl_filesystem_object_get_debug_info(zend_object *objec
636636	}
637637	if  (intern -> type  ==  SPL_FS_DIR ) {
638638#ifdef  HAVE_GLOB 
639- 		if  (php_stream_is (intern -> u .dir .dirp ,  & php_glob_stream_ops )) {
639+ 		if  (intern -> u . dir . dirp   &&   php_stream_is (intern -> u .dir .dirp  , & php_glob_stream_ops )) {
640640			ZVAL_STR_COPY (& tmp , intern -> path );
641641		} else  {
642642			ZVAL_FALSE (& tmp );
Original file line number Diff line number Diff line change 1+ --TEST--
2+ GH-14687 segfault on debugging SplObjectStorage instance after __destruct.
3+ --CREDITS--
4+ YuanchengJiang
5+ --EXTENSIONS--
6+ phar
7+ --INI--
8+ phar.require_hash=0
9+ phar.readonly=0
10+ --FILE--
11+ <?php 
12+ $ fname__DIR__  . '/gh14687.phar.zip ' ;
13+ $ pharnew  Phar ($ fname
14+ class  HasDestructor {
15+   public  function  __destruct () {
16+     var_dump ($ GLOBALS 's ' ]);
17+   }
18+ }
19+ $ snew  SplObjectStorage ();
20+ $ s$ pharnew  HasDestructor ();
21+ register_shutdown_function (function () {
22+ 	global  $ s
23+ });
24+ ?> 
25+ --CLEAN--
26+ <?php 
27+ @unlink (__DIR__  . '/gh14687.phar.zip ' );
28+ ?> 
29+ --EXPECT--
30+ object(SplObjectStorage)#2 (1) {
31+   ["storage":"SplObjectStorage":private]=>
32+   array(1) {
33+     [0]=>
34+     array(2) {
35+       ["obj"]=>
36+       object(Phar)#1 (3) {
37+         ["pathName":"SplFileInfo":private]=>
38+         string(0) ""
39+         ["glob":"DirectoryIterator":private]=>
40+         bool(false)
41+         ["subPathName":"RecursiveDirectoryIterator":private]=>
42+         string(0) ""
43+       }
44+       ["inf"]=>
45+       object(HasDestructor)#3 (0) {
46+       }
47+     }
48+   }
49+ }
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments