From de8aa82e8ed105271506ad9d92f16579843ef0cb Mon Sep 17 00:00:00 2001 From: Michihiro NAKAJIMA Date: Thu, 8 Mar 2012 13:13:53 +0900 Subject: [PATCH] Properly reuse rar->filename. --- libarchive/archive_read_support_format_rar.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c index 5eda9cb30..e4a3193ac 100644 --- a/libarchive/archive_read_support_format_rar.c +++ b/libarchive/archive_read_support_format_rar.c @@ -1162,12 +1162,16 @@ read_header(struct archive_read *a, struct archive_entry *entry, return (ARCHIVE_FATAL); } if (rar->filename_allocated < filename_size * 2 + 2) { - rar->filename = realloc(rar->filename, filename_size * 2 + 2); - if (rar->filename == NULL) { + char *newptr; + size_t newsize = filename_size * 2 + 2; + newptr = realloc(rar->filename, newsize); + if (newptr == NULL) { archive_set_error(&a->archive, ENOMEM, "Couldn't allocate memory."); return (ARCHIVE_FATAL); } + rar->filename = newptr; + rar->filename_allocated = newsize; } filename = rar->filename; memcpy(filename, p, filename_size); -- 2.47.3