Author: zoltan
Date: 2007-04-26 15:26:09 -0400 (Thu, 26 Apr 2007)
New Revision: 76350
Modified:
trunk/mono/mono/metadata/ChangeLog
trunk/mono/mono/metadata/loader.c
Log:
2007-04-26 Zoltan Varga <[EMAIL PROTECTED]>
* loader.c (mono_loader_error_prepare_exception): Fix crash caused by
calling
mono_loader_clear_error () too late. Fixes #81463.
Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog 2007-04-26 18:29:45 UTC (rev 76349)
+++ trunk/mono/mono/metadata/ChangeLog 2007-04-26 19:26:09 UTC (rev 76350)
@@ -1,3 +1,8 @@
+2007-04-26 Zoltan Varga <[EMAIL PROTECTED]>
+
+ * loader.c (mono_loader_error_prepare_exception): Fix crash caused by
calling
+ mono_loader_clear_error () too late. Fixes #81463.
+
2007-04-26 Atsushi Enomoto <[EMAIL PROTECTED]>
* culture-info-table.h : regenerated.
Modified: trunk/mono/mono/metadata/loader.c
===================================================================
--- trunk/mono/mono/metadata/loader.c 2007-04-26 18:29:45 UTC (rev 76349)
+++ trunk/mono/mono/metadata/loader.c 2007-04-26 19:26:09 UTC (rev 76350)
@@ -280,15 +280,18 @@
case MONO_LOADER_ERROR_ASSEMBLY: {
char *msg;
+ char *filename;
if (error->ref_only)
msg = g_strdup_printf ("Cannot resolve dependency to
assembly '%s' because it has not been preloaded. When using the ReflectionOnly
APIs, dependent assemblies must be pre-loaded or loaded on demand through the
ReflectionOnlyAssemblyResolve event.", error->assembly_name);
else
msg = g_strdup_printf ("Could not load file or assembly
'%s' or one of its dependencies.", error->assembly_name);
-
- ex = mono_get_exception_file_not_found2 (msg, mono_string_new
(mono_domain_get (), error->assembly_name));
+ filename = g_strdup (error->assembly_name);
+ /* Has to call this before calling anything which might call
mono_class_init () */
mono_loader_clear_error ();
+ ex = mono_get_exception_file_not_found2 (msg, mono_string_new
(mono_domain_get (), filename));
g_free (msg);
+ g_free (filename);
break;
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches