]> git.lizzy.rs Git - zlib.git/blobdiff - gzwrite.c
Avoid undefined behaviors of memcpy() in gz*printf().
[zlib.git] / 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;
     }