[vlc-commits] rar: Read the uncompressed size high word instead of the compressed size high word

John Peterson git at videolan.org
Mon Apr 30 20:56:09 CEST 2012


vlc | branch: master | John Peterson <john.peterson3 at hotmail.com> | Sun Apr 22 06:35:02 2012 +0200| [0ea07fba5ac7677c715664d370c85cbf8ce01d95] | committer: Laurent Aimar

rar: Read the uncompressed size high word instead of the compressed size high word

For multi-volume archives the compressed size refers to the size of the data in the volume rather than the entire archive.

Signed-off-by: Laurent Aimar <fenrir at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0ea07fba5ac7677c715664d370c85cbf8ce01d95
---

 modules/access/rar/rar.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/modules/access/rar/rar.c b/modules/access/rar/rar.c
index d833117..315c0a9 100644
--- a/modules/access/rar/rar.c
+++ b/modules/access/rar/rar.c
@@ -175,7 +175,7 @@ static int SkipFile(stream_t *s, int *count, rar_file_t ***file,
     uint16_t name_size = GetWLE(&peek[7+19]);
     uint32_t file_size_high = 0;
     if (hdr->flags & RAR_BLOCK_FILE_HAS_HIGH)
-        file_size_high = GetDWLE(&peek[7+25]);
+        file_size_high = GetDWLE(&peek[7+29]);
     const uint64_t file_size = ((uint64_t)file_size_high << 32) | file_size_low;
 
     char *name = calloc(1, name_size + 1);



More information about the vlc-commits mailing list