+2008-04-12 Zoltan Varga <vargaz@gmail.com>
+
+ * assembly.c (mono_assembly_load_from_full): Do the check for loading other
+ mscorlibs for the non-refonly case as well.
+
+ * image.c (do_mono_image_load): Remove the mscorlib check, it is already done
+ in mono_assembly_load_from_full (). Fixes #378924.
+
2008-04-11 Geoff Norton <gnorton@novell.com>
* icall.c: The global extern environ doesn't exist on Mac. We
mono_assembly_fill_assembly_name (image, &ass->aname);
- if (refonly && strcmp (ass->aname.name, "mscorlib") == 0) {
+ if (mono_defaults.corlib && strcmp (ass->aname.name, "mscorlib") == 0) {
// MS.NET doesn't support loading other mscorlibs
g_free (ass);
g_free (base_dir);
- mono_image_close (image);
+ mono_image_addref (mono_defaults.corlib);
*status = MONO_IMAGE_OK;
return mono_defaults.corlib->assembly;
}
image->assembly_name = mono_metadata_string_heap (image,
mono_metadata_decode_row_col (&image->tables [MONO_TABLE_ASSEMBLY],
0, MONO_ASSEMBLY_NAME));
- /* we don't allow loading different mscorlibs */
- if (strcmp (image->assembly_name, "mscorlib") == 0 && mono_defaults.corlib) {
- if (status)
- *status = MONO_IMAGE_OK;
- mono_image_close (image);
- mono_image_addref (mono_defaults.corlib);
- return mono_defaults.corlib;
- }
}
image->module_name = mono_metadata_string_heap (image,