]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Fix some segmentation fault in rar reader.
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>
Tue, 28 Jun 2011 04:52:56 +0000 (00:52 -0400)
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>
Tue, 28 Jun 2011 04:52:56 +0000 (00:52 -0400)
SVN-Revision: 3438

libarchive/archive_read_support_format_rar.c

index cb904a38b0f0fd8f78693db54be34c35fd576956..42816f0cc621ad918967d4e38017be73864198cc 100644 (file)
@@ -481,7 +481,7 @@ read_header(struct archive_read *a, struct archive_entry *entry,
     header_size += rar->packed_size;
 
   filename_size = archive_le16dec(file_header.name_size);
-  if ((filename = malloc(filename_size)) == NULL)
+  if ((filename = malloc(filename_size+1)) == NULL)
     return (ARCHIVE_FATAL);
   memcpy(filename, p, filename_size);
   filename[filename_size] = '\0';
@@ -693,7 +693,7 @@ read_symlink_stored(struct archive_read *a, struct archive_entry *entry,
   if ((h = __archive_read_ahead(a, rar->packed_size, NULL)) == NULL)
     return (ARCHIVE_FATAL);
   p = h;
-  filename = malloc(rar->packed_size);
+  filename = malloc(rar->packed_size+1);
   memcpy(filename, p, rar->packed_size);
   filename[rar->packed_size] = '\0';