diff options
author | Stanislav Malyshev <stas@php.net> | 2016-11-03 20:36:52 -0700 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2016-11-03 20:36:52 -0700 |
commit | ea9fac94bbae150a81fde0e6542e6b45965772cd (patch) | |
tree | 124f543734d75dd5aecd9743dbe4031b4bd244a9 /ext/zip | |
parent | 6558559bcc1cd24e3639e4a215e9d546ee05fc48 (diff) | |
download | php-git-ea9fac94bbae150a81fde0e6542e6b45965772cd.tar.gz |
More string length checks & fixes
Diffstat (limited to 'ext/zip')
-rw-r--r-- | ext/zip/php_zip.c | 6 |
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); |