X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=trunk%2Flttv%2Flttv%2Fmodules%2Fgui%2Fresourceview%2Feventhooks.c;h=37d0a07f3d3f4b5f64bc3fafcd231788e87b0749;hb=55a353066e6e0a0cdaf19af2fc3a1673b3cf5eb1;hp=e0a0e347323f042e42eecd25131004be7d674228;hpb=165051d2d5b7e67c409ff3cc851fcebbb709e9c8;p=lttv.git diff --git a/trunk/lttv/lttv/modules/gui/resourceview/eventhooks.c b/trunk/lttv/lttv/modules/gui/resourceview/eventhooks.c index e0a0e347..37d0a07f 100644 --- a/trunk/lttv/lttv/modules/gui/resourceview/eventhooks.c +++ b/trunk/lttv/lttv/modules/gui/resourceview/eventhooks.c @@ -846,7 +846,13 @@ int before_execmode_hook_irq(void *hook_data, void *call_data) if (minfo->name == LTT_EVENT_IRQ_ENTRY) { irq = ltt_event_get_long_unsigned(e, lttv_trace_get_hook_field(th, 0)); } else if (minfo->name == LTT_EVENT_IRQ_EXIT) { - irq = g_array_index(ts->cpu_states[cpu].irq_stack, gint, ts->cpu_states[cpu].irq_stack->len-1); + gint len = ts->cpu_states[cpu].irq_stack->len; + if(len) { + irq = g_array_index(ts->cpu_states[cpu].irq_stack, gint, len-1); + } + else { + return 0; + } } else return 0;