head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.8 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.6 pkgsrc-2012Q4-base:1.2 pkgsrc-2011Q4:1.2.0.4 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q2:1.2.0.2 pkgsrc-2011Q2-base:1.2; locks; strict; comment @# @; 1.2 date 2010.12.01.16.49.13; author kefren; state dead; branches; next 1.1; 1.1 date 2010.11.23.16.33.04; author kefren; state Exp; branches; next ; desc @@ 1.2 log @Update to 2.8.1, a bug fix release on 2.8 branch. Full Changelog: http://www.mono-project.com/Release_Notes_Mono_2.8.1 @ text @$NetBSD: patch-at,v 1.1 2010/11/23 16:33:04 kefren Exp $ Fix for CVE-2010-4159 from git repository: https://github.com/mono/mono/commit/8e890a3bf80a4620e417814dc14886b1bbd17625 --- mono/metadata/loader.c.orig 2010-11-23 17:54:39.000000000 +0200 +++ mono/metadata/loader.c 2010-11-23 17:54:50.000000000 +0200 @@@@ -1340,32 +1340,34 @@@@ if (!module) { void *iter = NULL; - while ((full_name = mono_dl_build_path (NULL, file_name, &iter))) { + char *mdirname = g_path_get_dirname (image->name); + while ((full_name = mono_dl_build_path (mdirname, file_name, &iter))) { mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT, - "DllImport loading location: '%s'.", full_name); + "DllImport loading library: '%s'.", full_name); module = cached_module_load (full_name, MONO_DL_LAZY, &error_msg); if (!module) { mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT, - "DllImport error loading library: '%s'.", - error_msg); + "DllImport error loading library '%s'.", + error_msg); g_free (error_msg); } g_free (full_name); if (module) break; } + g_free (mdirname); } if (!module) { void *iter = NULL; - while ((full_name = mono_dl_build_path (".", file_name, &iter))) { + while ((full_name = mono_dl_build_path (NULL, file_name, &iter))) { mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT, - "DllImport loading library: '%s'.", full_name); + "DllImport loading location: '%s'.", full_name); module = cached_module_load (full_name, MONO_DL_LAZY, &error_msg); if (!module) { mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT, - "DllImport error loading library '%s'.", - error_msg); + "DllImport error loading library: '%s'.", + error_msg); g_free (error_msg); } g_free (full_name); @ 1.1 log @add fix for CVE-2010-4159 PKGREVISION++ @ text @d1 1 a1 1 $NetBSD$ @