bjori           Mon Nov  6 15:20:23 2006 UTC

  Modified files:              
    /php-src/ext/spl    spl_directory.c 
    /php-src/ext/spl/tests      fileobject_003.phpt 
  Log:
  Fix segfault on $splinfo->openFile()->getPath()
  Improve test
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/spl/spl_directory.c?r1=1.101&r2=1.102&diff_format=u
Index: php-src/ext/spl/spl_directory.c
diff -u php-src/ext/spl/spl_directory.c:1.101 
php-src/ext/spl/spl_directory.c:1.102
--- php-src/ext/spl/spl_directory.c:1.101       Fri Oct 13 14:52:19 2006
+++ php-src/ext/spl/spl_directory.c     Mon Nov  6 15:20:23 2006
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_directory.c,v 1.101 2006/10/13 14:52:19 andrei Exp $ */
+/* $Id: spl_directory.c,v 1.102 2006/11/06 15:20:23 bjori Exp $ */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
@@ -406,6 +406,8 @@
                } else {
                        intern->file_name = source->file_name;
                        intern->file_name_len = source->file_name_len;
+                       intern->path = estrndup(source->path, source->path_len);
+                       intern->path_len = source->path_len;
                
                        intern->u.file.open_mode = "r";
                        intern->u.file.open_mode_len = 1;
http://cvs.php.net/viewvc.cgi/php-src/ext/spl/tests/fileobject_003.phpt?r1=1.2&r2=1.3&diff_format=u
Index: php-src/ext/spl/tests/fileobject_003.phpt
diff -u php-src/ext/spl/tests/fileobject_003.phpt:1.2 
php-src/ext/spl/tests/fileobject_003.phpt:1.3
--- php-src/ext/spl/tests/fileobject_003.phpt:1.2       Sat Jul 15 13:01:44 2006
+++ php-src/ext/spl/tests/fileobject_003.phpt   Mon Nov  6 15:20:23 2006
@@ -31,6 +31,9 @@
        var_dump($f->getPath());
        $l = substr($f->getPath(), -1);
        var_dump($l != '/' && $l != '\\' && $l == $lp);
+
+       $fo = $o->openFile();
+       var_dump($fo->getPathName(), $fo->getFileName(), $fo->getPath());
 }
 
 test(dirname(__FILE__) . '/' . 'fileobject_001a.txt', 't', 
substr(dirname(__FILE__),-1));
@@ -56,6 +59,9 @@
 bool(true)
 string(%d) "%stests"
 bool(true)
+string(%d) "%sfileobject_001a.txt"
+string(%d) "%sfileobject_001a.txt"
+string(%d) "%stests"
 ===1===
 object(SplFileInfo)#%d (0) {
 }
@@ -71,6 +77,9 @@
 bool(true)
 string(%d) "%sspl"
 bool(true)
+string(%d) "%stests"
+string(%d) "%stests"
+string(%d) "%stests"
 ===2===
 object(SplFileInfo)#1 (0) {
 }
@@ -86,4 +95,7 @@
 bool(true)
 string(%d) "%sspl"
 bool(true)
+string(%d) "%stests"
+string(%d) "%stests"
+string(%d) "%sspl"
 ===DONE===

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

Reply via email to