Terminate the buffer with a '\0'
authorGlenn L McGrath <bug1@ihug.co.nz>
Wed, 6 Nov 2002 22:31:45 +0000 (22:31 -0000)
committerGlenn L McGrath <bug1@ihug.co.nz>
Wed, 6 Nov 2002 22:31:45 +0000 (22:31 -0000)
archival/libunarchive/data_extract_to_buffer.c

index 3fcab6d..db5521b 100644 (file)
 
 extern void data_extract_to_buffer(archive_handle_t *archive_handle)
 {
-       archive_handle->buffer = xmalloc(archive_handle->file_header->size + 1);
-       
-       archive_xread_all(archive_handle, archive_handle->buffer, archive_handle->file_header->size);
+       const unsigned int size = archive_handle->file_header->size;
 
+       archive_handle->buffer = xmalloc(size + 1);
+
+       archive_xread_all(archive_handle, archive_handle->buffer, size);
+       archive_handle->buffer[size] = '\0';
 }