From eea02c908d44347aacf1fddd06c0f6d0ab4343bb Mon Sep 17 00:00:00 2001 From: Filip Navara Date: Thu, 19 Sep 2019 18:21:21 +0200 Subject: [PATCH] Fix check for SafeHandle types Commit migrated from https://github.com/mono/mono/commit/338170ecceaf6d8e69ad1812d416dfaf728096f3 --- src/mono/mono/metadata/metadata.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mono/mono/metadata/metadata.c b/src/mono/mono/metadata/metadata.c index d92ea89..f064639 100644 --- a/src/mono/mono/metadata/metadata.c +++ b/src/mono/mono/metadata/metadata.c @@ -6754,7 +6754,8 @@ handle_enum: *conv = MONO_MARSHAL_CONV_DEL_FTN; return MONO_NATIVE_FUNC; } - if (mono_class_try_get_safehandle_class () && type->data.klass == mono_class_try_get_safehandle_class ()){ + if (mono_class_try_get_safehandle_class () && type->data.klass != NULL && + mono_class_is_subclass_of_internal (type->data.klass, mono_class_try_get_safehandle_class (), FALSE)){ *conv = MONO_MARSHAL_CONV_SAFEHANDLE; return MONO_NATIVE_INT; } -- 2.7.4