X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=src%2Fphp_http_buffer.c;h=c8650657ace95869f8ed6d014d250345213172c9;hp=9ff4065321150cb25a95589b9159bd780017a74d;hb=9a02b1a9ef8dc62a241148405be8058e0df4250e;hpb=62791ac09f0e49bbfa9e056b7fd6510ab7b0b030;ds=sidebyside diff --git a/src/php_http_buffer.c b/src/php_http_buffer.c index 9ff4065..c865065 100644 --- a/src/php_http_buffer.c +++ b/src/php_http_buffer.c @@ -117,9 +117,11 @@ PHP_HTTP_BUFFER_API size_t php_http_buffer_append(php_http_buffer_t *buf, ) { return PHP_HTTP_BUFFER_NOMEM; } - memcpy(buf->data + buf->used, append, append_len); - buf->used += append_len; - buf->free -= append_len; + if (append_len) { + memcpy(buf->data + buf->used, append, append_len); + buf->used += append_len; + buf->free -= append_len; + } return append_len; } @@ -147,7 +149,9 @@ PHP_HTTP_BUFFER_API char *php_http_buffer_data(const php_http_buffer_t *buf, char **into, size_t *len) { char *copy = ecalloc(1, buf->used + 1); - memcpy(copy, buf->data, buf->used); + if (buf->data) { + memcpy(copy, buf->data, buf->used); + } if (into) { *into = copy; }