From: Andres Mejia Date: Sat, 26 Jan 2013 17:00:38 +0000 (-0500) Subject: Fix check for EOF in RAR format reader. X-Git-Tag: v3.1.2~52 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f2bd4d81617b4df86c388b8f4377cc0333676571;p=thirdparty%2Flibarchive.git Fix check for EOF in RAR format reader. --- 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); }