From c4664596ed6c31e87e0dd5744f00a46bd51cd68b Mon Sep 17 00:00:00 2001 From: Zoltan Varga Date: Thu, 12 May 2022 22:08:16 -0400 Subject: [PATCH] [mono] Fix a crash during stack trace construction if a this object is null. Fixes https://github.com/dotnet/runtime/issues/67354. --- src/mono/mono/mini/mini-exceptions.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mono/mono/mini/mini-exceptions.c b/src/mono/mono/mini/mini-exceptions.c index fa7bab55a393fc..94d3b74a1b562c 100644 --- a/src/mono/mono/mini/mini-exceptions.c +++ b/src/mono/mono/mini/mini-exceptions.c @@ -860,7 +860,7 @@ mono_get_generic_info_from_stack_frame (MonoJitInfo *ji, MonoContext *ctx) /* Avoid returning a managed object */ MonoObject *this_obj = (MonoObject *)info; - return this_obj->vtable; + return this_obj ? this_obj->vtable : NULL; } } @@ -926,7 +926,7 @@ get_method_from_stack_frame (MonoJitInfo *ji, gpointer generic_info) MonoGenericContext context; MonoMethod *method; - if (!ji->has_generic_jit_info || !mono_jit_info_get_generic_jit_info (ji)->has_this) + if (!ji->has_generic_jit_info || !mono_jit_info_get_generic_jit_info (ji)->has_this || !generic_info) return jinfo_get_method (ji); context = mono_get_generic_context_from_stack_frame (ji, generic_info);