Make sure there is a trailing '\0' when extracting to buffer.
authorGlenn L McGrath <bug1@ihug.co.nz>
Fri, 13 Jul 2001 17:59:48 +0000 (17:59 -0000)
committerGlenn L McGrath <bug1@ihug.co.nz>
Fri, 13 Jul 2001 17:59:48 +0000 (17:59 -0000)
libbb/unarchive.c

index 80dddb226912360e03a9504205a88a8efe9d0cc7..852bd06a8529d42daef720c2958cd3c69863aec4 100644 (file)
@@ -102,6 +102,7 @@ char *extract_archive(FILE *src_stream, FILE *out_stream, const file_header_t *f
                if (S_ISREG(file_entry->mode)) {
                        buffer = (char *) xmalloc(file_entry->size + 1);
                        fread(buffer, 1, file_entry->size, src_stream);
+                       buffer[file_entry->size] = '\0';
                        archive_offset += file_entry->size;
                        return(buffer);
                }