]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.6'
authorJulien Pauli <jpauli@php.net>
Fri, 20 Feb 2015 14:40:46 +0000 (15:40 +0100)
committerJulien Pauli <jpauli@php.net>
Fri, 20 Feb 2015 14:40:46 +0000 (15:40 +0100)
* PHP-5.6:
  fix #68557

Conflicts:
ext/spl/spl_directory.c

1  2 
ext/spl/spl_directory.c

index fd5e08ee6648eb3941427e8c25b0ff04d992f237,7cc67d79a3304b8a4d89e3aba223dee7326772dc..9e51626cbdd9a7a25164e7b6c2954337da9a384d
@@@ -192,18 -202,21 +192,21 @@@ static inline void spl_filesystem_objec
  {
        char slash = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_UNIXPATHS) ? '/' : DEFAULT_SLASH;
  
-       if (!intern->file_name) {
-               switch (intern->type) {
+       switch (intern->type) {
                case SPL_FS_INFO:
                case SPL_FS_FILE:
-                       php_error_docref(NULL, E_ERROR, "Object not initialized");
+                       if (!intern->file_name) {
 -                              php_error_docref(NULL TSRMLS_CC, E_ERROR, "Object not initialized");
++                              php_error_docref(NULL, E_ERROR, "Object not initialized");
+                       }
                        break;
                case SPL_FS_DIR:
 -                      intern->file_name_len = spprintf(&intern->file_name, 0, "%s%c%s",
 -                                                       spl_filesystem_object_get_path(intern, NULL TSRMLS_CC),
+                       if (intern->file_name) {
+                               efree(intern->file_name);
+                       }
 +                      intern->file_name_len = (int)spprintf(&intern->file_name, 0, "%s%c%s",
 +                                                       spl_filesystem_object_get_path(intern, NULL),
                                                         slash, intern->u.dir.entry.d_name);
                        break;
-               }
        }
  } /* }}} */