diff --git a/lib/utils_io.c b/lib/utils_io.c index 1facac09..d7e1cbef 100644 --- a/lib/utils_io.c +++ b/lib/utils_io.c @@ -184,7 +184,8 @@ ssize_t read_blockwise(int fd, size_t bsize, size_t alignment, out: free(hangover_buf); if (buf != orig_buf) { - memcpy(orig_buf, buf, length); + if (ret == length) + memcpy(orig_buf, buf, length); free(buf); } return ret;