diff options
Diffstat (limited to 'Mono.Cecil.Metadata/BlobHeap.cs')
-rw-r--r-- | Mono.Cecil.Metadata/BlobHeap.cs | 3 |
1 files changed, 3 insertions, 0 deletions
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<byte>.Array; + var buffer = new byte [length]; Buffer.BlockCopy (data, position, buffer, 0, length); |