From 472119d9436d2707ce7239e8d6e2ca6e3da8d6f3 Mon Sep 17 00:00:00 2001
From: Rodrigo Kumpera <kumpera@gmail.com>
Date: Tue, 23 Nov 2010 18:51:22 -0200
Subject: [PATCH] Fix corlib testsuite crash.
* icall.c (ves_icall_Type_MakeGenericType): We can inflate
into the gtd and the verifier function is not able to handle
it.
---
mono/metadata/icall.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/mono/metadata/icall.c b/mono/metadata/icall.c
index 8a31c8e..ec2daf5 100644
--- a/mono/metadata/icall.c
+++ b/mono/metadata/icall.c
@@ -2453,7 +2453,9 @@ ves_icall_Type_MakeGenericType (MonoReflectionType *type, MonoArray *type_array)
return NULL;
class = mono_class_from_mono_type (geninst);
- if (!mono_verifier_class_is_valid_generic_instantiation (class))
+
+ /*we might inflate to the GTD*/
+ if (class->generic_class && !mono_verifier_class_is_valid_generic_instantiation (class))
mono_raise_exception (mono_get_exception_argument ("method", "Invalid generic arguments"));
return mono_type_get_object (mono_object_domain (type), geninst);
--
1.7.3.4