From: Timo Sirainen Date: Thu, 23 Feb 2023 14:10:43 +0000 (+0200) Subject: lib: istream - Don't call memcpy() with NULL parameter --with-devel-checks X-Git-Tag: 2.4.0~2955 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81b3a84ab1f90baf21453b707e30b9fd6d4ea44a;p=thirdparty%2Fdovecot%2Fcore.git lib: istream - Don't call memcpy() with NULL parameter --with-devel-checks --- diff --git a/src/lib/istream.c b/src/lib/istream.c index 5fabe1e3f4..073662fdd6 100644 --- a/src/lib/istream.c +++ b/src/lib/istream.c @@ -291,13 +291,14 @@ ssize_t i_stream_read(struct istream *stream) bool invalid = i_stream_is_buffer_invalid(_stream); i_assert(prev_skip <= prev_pos); + size_t prev_size = prev_pos - prev_skip; if (invalid) ; - else if (prev_pos - prev_skip <= 4) - memcpy(prev_buf, prev_data + prev_skip, prev_pos - prev_skip); - else { + else if (prev_size > 4) { memcpy(prev_buf, prev_data + prev_skip, 2); memcpy(prev_buf+2, prev_data + prev_pos - 2, 2); + } else if (prev_size > 0) { + memcpy(prev_buf, prev_data + prev_skip, prev_size); } #endif