diff options
author | Jb Evain <jb@evain.net> | 2021-07-01 23:29:07 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-01 23:29:07 +0300 |
commit | b0b93f5e29237fca6ece940cbc3a1219c387d456 (patch) | |
tree | 6cfd6709b00cd9306ee0de236965d9fb6560f9d8 | |
parent | ceebae47f2cec4e6606c9270a6da755a67a05bb6 (diff) |
Prevent an exception if a string local constant is invalid (#774)
-rw-r--r-- | Mono.Cecil/AssemblyReader.cs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Mono.Cecil/AssemblyReader.cs b/Mono.Cecil/AssemblyReader.cs index 9fdcf68..5cd3d17 100644 --- a/Mono.Cecil/AssemblyReader.cs +++ b/Mono.Cecil/AssemblyReader.cs @@ -3005,7 +3005,7 @@ namespace Mono.Cecil { object value; if (type.etype == ElementType.String) { - if (signature.buffer [signature.position] != 0xff) { + if (signature.CanReadMore () && signature.buffer [signature.position] != 0xff) { var bytes = signature.ReadBytes ((int) (signature.sig_length - (signature.position - signature.start))); value = Encoding.Unicode.GetString (bytes, 0, bytes.Length); } else |