From 5de77bb9f72a22efd32b1d0028199d37812d229d Mon Sep 17 00:00:00 2001 From: jfrijters Date: Sun, 18 Apr 2010 08:59:18 +0000 Subject: [PATCH] Don't loop infinitely when the RVA lies outside of the file. --- reflect/Reader/Field.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/reflect/Reader/Field.cs b/reflect/Reader/Field.cs index a260edba..221b4b73 100644 --- a/reflect/Reader/Field.cs +++ b/reflect/Reader/Field.cs @@ -93,6 +93,11 @@ namespace IKVM.Reflection.Reader while (size > 0) { int read = module.stream.Read(data, offset, size); + if (read == 0) + { + // C++ assemblies can have fields that have an RVA that lies outside of the file + break; + } offset += read; size -= read; }