From f2bd4d81617b4df86c388b8f4377cc0333676571 Mon Sep 17 00:00:00 2001 From: Andres Mejia Date: Sat, 26 Jan 2013 12:00:38 -0500 Subject: [PATCH] Fix check for EOF in RAR format reader. --- libarchive/archive_read_support_format_rar.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c index 54f2f5f28..4982c753f 100644 --- a/libarchive/archive_read_support_format_rar.c +++ b/libarchive/archive_read_support_format_rar.c @@ -944,10 +944,12 @@ archive_read_format_rar_read_data(struct archive_read *a, const void **buff, rar->bytes_unconsumed = 0; } - if (rar->entry_eof) { + if (rar->entry_eof || rar->offset_seek >= rar->unp_size) { *buff = NULL; *size = 0; *offset = rar->offset; + if (*offset < rar->unp_size) + *offset = rar->unp_size; return (ARCHIVE_EOF); } -- 2.47.2