diff options
author | Bill Holmes <bill.holmes@unity3d.com> | 2022-05-24 17:36:29 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-24 17:36:29 +0300 |
commit | 9b709ab7e7645e2560721b54027b57de62cc41eb (patch) | |
tree | 76862f86f6bc328adbf04c7a220afaa35975ade3 | |
parent | 1caad0c3cbb30d67aa0ef2b0c1777f8676657823 (diff) |
[mono] Fix a crash during stack trace construction if a this object is null. (#21481)
Fixes dotnet#67354.
-rw-r--r-- | mono/mini/mini-exceptions.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mono/mini/mini-exceptions.c b/mono/mini/mini-exceptions.c index a5280f3a29d..5b79c6bd1e4 100644 --- a/mono/mini/mini-exceptions.c +++ b/mono/mini/mini-exceptions.c @@ -842,7 +842,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; } } @@ -910,7 +910,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); |