]> git.lizzy.rs Git - zlib.git/commitdiff
Avoid undefined behaviors of memcpy() in gz*printf().
authorMark Adler <zlib@madler.net>
Fri, 13 Oct 2017 02:34:51 +0000 (19:34 -0700)
committerMark Adler <zlib@madler.net>
Fri, 13 Oct 2017 02:35:59 +0000 (19:35 -0700)
gzwrite.c

index 3560193b8e3468f03bd00db522173b64296f2ba6..26e89b66aec1ccaf47562f58eb965c8faf7e425a 100644 (file)
--- a/gzwrite.c
+++ b/gzwrite.c
@@ -444,7 +444,7 @@ int ZEXPORTVA gzvprintf(gzFile file, const char *format, va_list va)
         strm->avail_in = state->size;
         if (gz_comp(state, Z_NO_FLUSH) == -1)
             return state->err;
-        memcpy(state->in, state->in + state->size, left);
+        memmove(state->in, state->in + state->size, left);
         strm->next_in = state->in;
         strm->avail_in = left;
     }
@@ -543,7 +543,7 @@ int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
         strm->avail_in = state->size;
         if (gz_comp(state, Z_NO_FLUSH) == -1)
             return state->err;
-        memcpy(state->in, state->in + state->size, left);
+        memmove(state->in, state->in + state->size, left);
         strm->next_in = state->in;
         strm->avail_in = left;
     }