diff options
-rw-r--r-- | archival/libarchive/open_transformer.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/archival/libarchive/open_transformer.c b/archival/libarchive/open_transformer.c index 9d762a859..ab6aa3afc 100644 --- a/archival/libarchive/open_transformer.c +++ b/archival/libarchive/open_transformer.c | |||
@@ -43,8 +43,9 @@ ssize_t FAST_FUNC transformer_write(transformer_state_t *xstate, const void *buf | |||
43 | nwrote = -1; | 43 | nwrote = -1; |
44 | goto ret; | 44 | goto ret; |
45 | } | 45 | } |
46 | xstate->mem_output_buf = xrealloc(xstate->mem_output_buf, size); | 46 | xstate->mem_output_buf = xrealloc(xstate->mem_output_buf, size + 1); |
47 | memcpy(xstate->mem_output_buf + pos, buf, bufsize); | 47 | memcpy(xstate->mem_output_buf + pos, buf, bufsize); |
48 | xstate->mem_output_buf[size] = '\0'; | ||
48 | nwrote = bufsize; | 49 | nwrote = bufsize; |
49 | } else { | 50 | } else { |
50 | nwrote = full_write(xstate->dst_fd, buf, bufsize); | 51 | nwrote = full_write(xstate->dst_fd, buf, bufsize); |