From 25612a0d936eaa217dfe700d101f0c81ef87965e Mon Sep 17 00:00:00 2001 From: Jb Evain Date: Tue, 29 Sep 2015 17:21:27 +0200 Subject: Prevent exception on invalid blob index --- Mono.Cecil.Metadata/BlobHeap.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Mono.Cecil.Metadata/BlobHeap.cs b/Mono.Cecil.Metadata/BlobHeap.cs index 527d042..6a07fc6 100644 --- a/Mono.Cecil.Metadata/BlobHeap.cs +++ b/Mono.Cecil.Metadata/BlobHeap.cs @@ -31,6 +31,9 @@ namespace Mono.Cecil.Metadata { int position = (int) (index + Offset); int length = (int) data.ReadCompressedUInt32 (ref position); + if (length > data.Length - position) + return Empty.Array; + var buffer = new byte [length]; Buffer.BlockCopy (data, position, buffer, 0, length); -- cgit v1.2.3