Blob Blame History Raw
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