summaryrefslogtreecommitdiff
path: root/ext/zip
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2016-11-03 20:36:52 -0700
committerStanislav Malyshev <stas@php.net>2016-11-03 20:36:52 -0700
commitea9fac94bbae150a81fde0e6542e6b45965772cd (patch)
tree124f543734d75dd5aecd9743dbe4031b4bd244a9 /ext/zip
parent6558559bcc1cd24e3639e4a215e9d546ee05fc48 (diff)
downloadphp-git-ea9fac94bbae150a81fde0e6542e6b45965772cd.tar.gz
More string length checks & fixes
Diffstat (limited to 'ext/zip')
-rw-r--r--ext/zip/php_zip.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c
index eeca8ab44d..9f2b3768d3 100644
--- a/ext/zip/php_zip.c
+++ b/ext/zip/php_zip.c
@@ -1701,7 +1701,7 @@ static ZIPARCHIVE_METHOD(addEmptyDir)
}
if (dirname[dirname_len-1] != '/') {
- s=(char *)emalloc(dirname_len+2);
+ s=(char *)safe_emalloc(dirname_len, 1, 2);
strcpy(s, dirname);
s[dirname_len] = '/';
s[dirname_len+1] = '\0';
@@ -1915,14 +1915,14 @@ static ZIPARCHIVE_METHOD(addFromString)
ze_obj = (ze_zip_object*) zend_object_store_get_object(this TSRMLS_CC);
if (ze_obj->buffers_cnt) {
- ze_obj->buffers = (char **)erealloc(ze_obj->buffers, sizeof(char *) * (ze_obj->buffers_cnt+1));
+ ze_obj->buffers = (char **)safe_erealloc(ze_obj->buffers, sizeof(char *), (ze_obj->buffers_cnt+1), 0);
pos = ze_obj->buffers_cnt++;
} else {
ze_obj->buffers = (char **)emalloc(sizeof(char *));
ze_obj->buffers_cnt++;
pos = 0;
}
- ze_obj->buffers[pos] = (char *)emalloc(buffer_len + 1);
+ ze_obj->buffers[pos] = (char *)safe_emalloc(buffer_len, 1, 1);
memcpy(ze_obj->buffers[pos], buffer, buffer_len + 1);
zs = zip_source_buffer(intern, ze_obj->buffers[pos], buffer_len, 0);