From 13674f2e115b9988a21c49ec6d0ce3c10db2dfda Mon Sep 17 00:00:00 2001 From: morkt Date: Sat, 2 Aug 2014 00:42:59 +0400 Subject: [PATCH] correctly check reserved view size. --- ArcFormats/ArcMajiro.cs | 2 +- ArcFormats/ArcYPF.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ArcFormats/ArcMajiro.cs b/ArcFormats/ArcMajiro.cs index 442f0fc6..4b3be7de 100644 --- a/ArcFormats/ArcMajiro.cs +++ b/ArcFormats/ArcMajiro.cs @@ -85,7 +85,7 @@ namespace GameRes.Formats.Majiro table_size *= 4 * (version+1); if (table_size + 0x1c != names_offset) return null; - if (data_offset != file.View.Reserve (0, data_offset)) + if (data_offset > file.View.Reserve (0, data_offset)) return null; int names_size = (int)(data_offset - names_offset); var names = new byte[names_size]; diff --git a/ArcFormats/ArcYPF.cs b/ArcFormats/ArcYPF.cs index b6136561..69895d8f 100644 --- a/ArcFormats/ArcYPF.cs +++ b/ArcFormats/ArcYPF.cs @@ -58,7 +58,7 @@ namespace GameRes.Formats uint dir_size = file.View.ReadUInt32 (12); if (dir_size < count * 0x17 || count > 0xfffff) return null; - if (dir_size != file.View.Reserve (0x20, dir_size)) + if (dir_size > file.View.Reserve (0x20, dir_size)) return null; var parser = new Parser (file, version, count, dir_size);