Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/cecil.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJb Evain <jb@evain.net>2021-07-01 23:29:07 +0300
committerGitHub <noreply@github.com>2021-07-01 23:29:07 +0300
commitb0b93f5e29237fca6ece940cbc3a1219c387d456 (patch)
tree6cfd6709b00cd9306ee0de236965d9fb6560f9d8
parentceebae47f2cec4e6606c9270a6da755a67a05bb6 (diff)
Prevent an exception if a string local constant is invalid (#774)
-rw-r--r--Mono.Cecil/AssemblyReader.cs2
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