diff options
Diffstat (limited to 'main/streams/streams.c')
-rw-r--r-- | main/streams/streams.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/main/streams/streams.c b/main/streams/streams.c index 7821c44c2e..16149fbc92 100644 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -2015,13 +2015,13 @@ PHPAPI php_stream_dirent *_php_stream_readdir(php_stream *dirstream, php_stream_ /* {{{ php_stream_open_wrapper_ex */ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mode, int options, - char **opened_path, php_stream_context *context STREAMS_DC) + zend_string **opened_path, php_stream_context *context STREAMS_DC) { php_stream *stream = NULL; php_stream_wrapper *wrapper = NULL; const char *path_to_open; int persistent = options & STREAM_OPEN_PERSISTENT; - char *resolved_path = NULL; + zend_string *resolved_path = NULL; char *copy_of_path = NULL; if (opened_path) { @@ -2036,7 +2036,7 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mod if (options & USE_PATH) { resolved_path = zend_resolve_path(path, (int)strlen(path)); if (resolved_path) { - path = resolved_path; + path = resolved_path->val; /* we've found this file, don't re-check include_path or run realpath */ options |= STREAM_ASSUME_REALPATH; options &= ~USE_PATH; @@ -2049,7 +2049,7 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mod if (options & STREAM_USE_URL && (!wrapper || !wrapper->is_url)) { php_error_docref(NULL, E_WARNING, "This function may only be used against URLs"); if (resolved_path) { - efree(resolved_path); + zend_string_release(resolved_path); } return NULL; } @@ -2102,7 +2102,7 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mod ? PHP_STREAM_PREFER_STDIO : PHP_STREAM_NO_PREFERENCE)) { case PHP_STREAM_UNCHANGED: if (resolved_path) { - efree(resolved_path); + zend_string_release(resolved_path); } return stream; case PHP_STREAM_RELEASED: @@ -2111,7 +2111,7 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mod } newstream->orig_path = pestrdup(path, persistent); if (resolved_path) { - efree(resolved_path); + zend_string_release(resolved_path); } return newstream; default: @@ -2141,7 +2141,7 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mod if (stream == NULL && (options & REPORT_ERRORS)) { php_stream_display_wrapper_errors(wrapper, path, "failed to open stream"); if (opened_path && *opened_path) { - efree(*opened_path); + zend_string_release(*opened_path); *opened_path = NULL; } } @@ -2152,7 +2152,7 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mod } #endif if (resolved_path) { - efree(resolved_path); + zend_string_release(resolved_path); } return stream; } |