[aot] Fix a memory leak related to constraint allocation/deallocation. (#4880)
[mono.git] / mono / mini / mini-generic-sharing.c
index d7475aebd3aff13266a7d01c0419a0fb04b675b2..5ef3b350bf065f713a12e9992a124a9d0c0b5b8f 100644 (file)
@@ -3498,6 +3498,7 @@ mini_get_shared_gparam (MonoType *t, MonoType *constraint)
        copy = (MonoGSharedGenericParam *)mono_image_alloc0 (image, sizeof (MonoGSharedGenericParam));
        memcpy (&copy->param, par, sizeof (MonoGenericParamFull));
        copy->param.info.pklass = NULL;
+       constraint = mono_metadata_type_dup (image, constraint);
        name = get_shared_gparam_name (constraint->type, ((MonoGenericParamFull*)copy)->info.name);
        copy->param.info.name = mono_image_strdup (image, name);
        g_free (name);