Skip to content

Commit

Permalink
Merge from HEAD.
Browse files Browse the repository at this point in the history
svn path=/branches/mono-1-0/mono/; revision=33543
  • Loading branch information
vargaz committed Sep 7, 2004
1 parent a8069ed commit 71d7550
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 4 deletions.
8 changes: 8 additions & 0 deletions mono/metadata/ChangeLog
@@ -1,3 +1,11 @@
2004-09-08 Zoltan Varga <vargaz@freemail.hu>

* image.c (mono_image_close): Applied patch from
vasantha.paulraj@honeywell.com (Vasantha selvi). Fix crash when an
assembly is loaded multiple times from data.

* image.c (mono_image_open): Fix warning.

2004-09-07 Zoltan Varga <vargaz@freemail.hu>

* reflection.c (mono_reflection_create_runtime_class): Initialize
Expand Down
21 changes: 17 additions & 4 deletions mono/metadata/image.c
Expand Up @@ -849,12 +849,12 @@ MonoImage *
mono_image_open (const char *fname, MonoImageOpenStatus *status)
{
MonoImage *image, *image2;
const char *absfname;
char *absfname;

g_return_val_if_fail (fname != NULL, NULL);

if (g_path_is_absolute (fname))
absfname = fname;
absfname = (char*)fname;
else {
gchar *path = g_get_current_dir ();
absfname = g_build_filename (path, fname, NULL);
Expand Down Expand Up @@ -960,9 +960,22 @@ mono_image_close (MonoImage *image)

if (image->f)
fclose (image->f);
if (image->raw_data_allocated)
g_free (image->raw_data);
if (image->raw_data_allocated) {
/* image->raw_metadata and cli_sections might lie inside image->raw_data */
MonoCLIImageInfo *ii = image->image_info;
int i;

if ((image->raw_metadata > image->raw_data) &&
(image->raw_metadata <= (image->raw_data + image->raw_data_len)))
image->raw_metadata = NULL;

for (i = 0; i < ii->cli_section_count; i++)
if (((char*)(ii->cli_sections [i]) > image->raw_data) &&
((char*)(ii->cli_sections [i]) <= ((char*)image->raw_data + image->raw_data_len)))
ii->cli_sections [i] = NULL;

g_free (image->raw_data);
}
g_free (image->name);
g_free (image->files);

Expand Down

0 comments on commit 71d7550

Please sign in to comment.