From: Michihiro NAKAJIMA Date: Tue, 28 Jun 2011 04:52:56 +0000 (-0400) Subject: Fix some segmentation fault in rar reader. X-Git-Tag: v3.0.0a~258 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=351053aecdb1395b3605d27aae7f4e51c17c0177;p=thirdparty%2Flibarchive.git Fix some segmentation fault in rar reader. SVN-Revision: 3438 --- diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c index cb904a38b..42816f0cc 100644 --- a/libarchive/archive_read_support_format_rar.c +++ b/libarchive/archive_read_support_format_rar.c @@ -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';