summaryrefslogtreecommitdiff
path: root/ext/zip/zip_stream.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2014-05-05 10:49:27 +0800
committerXinchen Hui <laruence@gmail.com>2014-05-05 10:49:27 +0800
commitbea30846bb40e84eab19243823c5c8baa2f0137c (patch)
tree0d83c863718159ba6919838dbb764eb77b76766e /ext/zip/zip_stream.c
parentcf15e94e0797bbafe89efec5176a248839250909 (diff)
downloadphp-git-bea30846bb40e84eab19243823c5c8baa2f0137c.tar.gz
Refactor Zip (1 test failed)
Diffstat (limited to 'ext/zip/zip_stream.c')
-rw-r--r--ext/zip/zip_stream.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/ext/zip/zip_stream.c b/ext/zip/zip_stream.c
index 956f066064..29ec3d022a 100644
--- a/ext/zip/zip_stream.c
+++ b/ext/zip/zip_stream.c
@@ -258,8 +258,7 @@ php_stream *php_stream_zip_opener(php_stream_wrapper *wrapper,
{
int path_len;
- char *file_basename;
- size_t file_basename_len;
+ zend_string *file_basename;
char file_dirname[MAXPATHLEN];
struct zip *za;
@@ -293,11 +292,11 @@ php_stream *php_stream_zip_opener(php_stream_wrapper *wrapper,
memcpy(file_dirname, path, path_len - fragment_len);
file_dirname[path_len - fragment_len] = '\0';
- php_basename(path, path_len - fragment_len, NULL, 0, &file_basename, &file_basename_len TSRMLS_CC);
+ file_basename = php_basename(path, path_len - fragment_len, NULL, 0 TSRMLS_CC);
fragment++;
if (ZIP_OPENBASEDIR_CHECKPATH(file_dirname)) {
- efree(file_basename);
+ STR_RELEASE(file_basename);
return NULL;
}
@@ -321,7 +320,7 @@ php_stream *php_stream_zip_opener(php_stream_wrapper *wrapper,
}
}
- efree(file_basename);
+ STR_RELEASE(file_basename);
if (!stream) {
return NULL;