Merge pull request #2786 from alexanderkyte/leaked_type_in_parse_header
authormonojenkins <jo.shields+jenkins@xamarin.com>
Wed, 30 Mar 2016 21:11:01 +0000 (22:11 +0100)
committermonojenkins <jo.shields+jenkins@xamarin.com>
Wed, 30 Mar 2016 21:11:01 +0000 (22:11 +0100)
[runtime] Free leaked short-lived MonoType

mono/metadata/metadata.c

index 1ed5d5125e9b74bfad194f8ecf74242fd72120f0..d4e404554a076584d50f615f961a9bbc2eb07b9e 100644 (file)
@@ -3376,6 +3376,10 @@ do_mono_metadata_parse_type (MonoType *type, MonoImage *m, MonoGenericContainer
                        return FALSE;
 
                type->data.klass = mono_class_from_mono_type (etype);
+
+               if (transient)
+                       mono_metadata_free_type (etype);
+
                g_assert (type->data.klass); //This was previously a check for NULL, but mcfmt should never fail. It can return a borken MonoClass, but should return at least something.
                break;
        }