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

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormonojenkins <jo.shields+jenkins@xamarin.com>2020-07-24 12:26:03 +0300
committerGitHub <noreply@github.com>2020-07-24 12:26:03 +0300
commit648655b86d55554f5267b11b58e1d6f563b63754 (patch)
tree7792e0a62c827f4716b99953bde3f3b710939521
parentec71e8a7ae3a5ea3f817f30ac4cb73a90905c99f (diff)
[aot] Avoid a crash in generic sharing for invalid generic instances. (#20158)
Fixes https://github.com/mono/mono/issues/20138. Co-authored-by: Zoltan Varga <vargaz@gmail.com>
-rw-r--r--mono/mini/mini-generic-sharing.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mono/mini/mini-generic-sharing.c b/mono/mini/mini-generic-sharing.c
index 2eba1e575ba..45528b9cb45 100644
--- a/mono/mini/mini-generic-sharing.c
+++ b/mono/mini/mini-generic-sharing.c
@@ -1169,6 +1169,8 @@ get_wrapper_shared_vtype (MonoType *t)
if ((mono_class_get_flags (klass) & TYPE_ATTRIBUTE_LAYOUT_MASK) != TYPE_ATTRIBUTE_SEQUENTIAL_LAYOUT)
return NULL;
mono_class_setup_fields (klass);
+ if (mono_class_has_failure (klass))
+ return NULL;
int num_fields = mono_class_get_field_count (klass);
MonoClassField *klass_fields = m_class_get_fields (klass);