From e5fdec93e273855c1bcc2579b83cfb481a9a1492 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Wed, 23 Jan 2008 22:02:38 +0200 Subject: [PATCH] Add the trailing '\0' to lzma_extra.data as the API header already documents. --- src/liblzma/common/metadata_decoder.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/liblzma/common/metadata_decoder.c b/src/liblzma/common/metadata_decoder.c index 356a9e31..298a424c 100644 --- a/src/liblzma/common/metadata_decoder.c +++ b/src/liblzma/common/metadata_decoder.c @@ -366,7 +366,8 @@ process(lzma_coder *coder, lzma_allocator *allocator) coder->extra_tail->size = (size_t)(coder->tmp); coder->tmp = 0; - uint8_t *d = lzma_alloc((size_t)(coder->extra_tail->size), + // We reserve space for the trailing '\0' too. + uint8_t *d = lzma_alloc((size_t)(coder->extra_tail->size) + 1, allocator); if (d == NULL) return LZMA_MEM_ERROR; @@ -383,6 +384,7 @@ process(lzma_coder *coder, lzma_allocator *allocator) (size_t)(coder->extra_tail->size)); if ((size_t)(coder->extra_tail->size) == coder->pos) { + coder->extra_tail->data[coder->pos] = '\0'; coder->pos = 0; coder->todo_count = 0; coder->sequence = SEQ_EXTRA_ALLOC;