+2003-01-07 Dietmar Maurer <dietmar@ximian.com>
+
+ * exception.c (ves_icall_get_frame_info): fix bug 36382
Tue Jan 7 15:15:41 CET 2003 Paolo Molaro <lupus@ximian.com>
MONO_CONTEXT_SET_IP (new_ctx, frame->return_address);
frame = frame->next;
MONO_CONTEXT_SET_BP (new_ctx, frame);
-
- /* stop if we detect an unexpected managed frame */
- if (mono_jit_info_table_find (domain, frame->return_address)) {
+
+ /* stop if !frame or when we detect an unexpected managed frame */
+ if (!frame || mono_jit_info_table_find (domain, frame->return_address)) {
if (trace) {
g_free (*trace);
*trace = NULL;
do {
ji = mono_arch_find_jit_info (domain, jit_tls, &ctx, &new_ctx, NULL, &lmf, native_offset, NULL);
- g_assert (ji);
-
ctx = new_ctx;
- if (MONO_CONTEXT_GET_BP (&ctx) >= jit_tls->end_of_stack)
+ if (!ji || MONO_CONTEXT_GET_BP (&ctx) >= jit_tls->end_of_stack)
return FALSE;
} while (skip-- > 0);