From: Nikita Popov Date: Wed, 19 Jun 2019 12:04:54 +0000 (+0200) Subject: Avoid memcpy UB in streams X-Git-Tag: php-7.4.0alpha2~51^2~14 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f26e77b05fe14e580e982c75887314b7fae7b777;p=php Avoid memcpy UB in streams --- diff --git a/main/streams/streams.c b/main/streams/streams.c index f1ff923dee..08b8e62014 100644 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -586,7 +586,9 @@ PHPAPI void _php_stream_fill_read_buffer(php_stream *stream, size_t size) stream->readbuf = perealloc(stream->readbuf, stream->readbuflen, stream->is_persistent); } - memcpy(stream->readbuf + stream->writepos, bucket->buf, bucket->buflen); + if (bucket->buflen) { + memcpy(stream->readbuf + stream->writepos, bucket->buf, bucket->buflen); + } stream->writepos += bucket->buflen; php_stream_bucket_unlink(bucket);