From 0c33669274740449de868ea89845d7071bb88102 Mon Sep 17 00:00:00 2001 From: kumpera Date: Wed, 24 Mar 2010 20:53:15 +0000 Subject: [PATCH] 2010-03-24 Rodrigo Kumpera * mini-exceptions.c (get_exception_catch_class): Non catch clausesdon't have an exception class, so don't decode it. This would crash with filter clauses. git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mono@154172 e3ebcda4-bce8-0310-ba0a-eca2169e7518 --- mono/mini/ChangeLog | 6 ++++++ mono/mini/mini-exceptions.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog index e1cd56623..15ea4ec4f 100755 --- a/mono/mini/ChangeLog +++ b/mono/mini/ChangeLog @@ -1,3 +1,9 @@ +2010-03-24 Rodrigo Kumpera + + * mini-exceptions.c (get_exception_catch_class): Non catch clauses + don't have an exception class, so don't decode it. This would crash + with filter clauses. + 2010-03-24 U-anarquia\miguel Make sure that trunk builds with DISABLE_JIT, an update to the diff --git a/mono/mini/mini-exceptions.c b/mono/mini/mini-exceptions.c index ae29d7783..3ff5faa13 100644 --- a/mono/mini/mini-exceptions.c +++ b/mono/mini/mini-exceptions.c @@ -1073,7 +1073,8 @@ get_exception_catch_class (MonoJitExceptionInfo *ei, MonoJitInfo *ji, MonoContex MonoType *inflated_type; MonoGenericContext context; - if (!catch_class) + /*MonoJitExceptionInfo::data is an union used by filter and finally clauses too.*/ + if (!catch_class || ei->flags != MONO_EXCEPTION_CLAUSE_NONE) return NULL; if (!ji->has_generic_jit_info || !mono_jit_info_get_generic_jit_info (ji)->has_this) -- 2.11.4.GIT