[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