1 |
pacho 11/07/04 11:27:20 |
2 |
|
3 |
Added: mono-2.10.2-threads-access.patch |
4 |
Removed: mono-2.2-uselibdir.patch mono-2.2-libdir126.patch |
5 |
mono-2.8.1-radegast-crash.patch |
6 |
mono-2.10.1-libdir.patch |
7 |
mono-2.2-ppc-threading.patch mono-2.8-libdir.patch |
8 |
mono-2.6.4-require-glib.patch |
9 |
Log: |
10 |
Fix security problem, bug #372983 by Tim Sammut. Remove old. |
11 |
|
12 |
(Portage version: 2.1.10.3/cvs/Linux x86_64) |
13 |
|
14 |
Revision Changes Path |
15 |
1.1 dev-lang/mono/files/mono-2.10.2-threads-access.patch |
16 |
|
17 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/mono/files/mono-2.10.2-threads-access.patch?rev=1.1&view=markup |
18 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/mono/files/mono-2.10.2-threads-access.patch?rev=1.1&content-type=text/plain |
19 |
|
20 |
Index: mono-2.10.2-threads-access.patch |
21 |
=================================================================== |
22 |
From 722f9890f09aadfc37ae479e7d946d5fc5ef7b91 Mon Sep 17 00:00:00 2001 |
23 |
From: Sebastien Pouliot <sebastien@××××××.com> |
24 |
Date: Wed, 6 Apr 2011 13:24:31 -0400 |
25 |
Subject: [PATCH] Fix access to freed members of a dead thread |
26 |
|
27 |
* threads.c: Fix access to freed members of a dead thread. Found |
28 |
and fixed by Rodrigo Kumpera <rkumpera@××××××.com> |
29 |
Ref: CVE-2011-0992 |
30 |
--- |
31 |
mono/metadata/threads.c | 11 ++++++++--- |
32 |
1 files changed, 8 insertions(+), 3 deletions(-) |
33 |
|
34 |
diff --git a/mono/metadata/threads.c b/mono/metadata/threads.c |
35 |
index 3fe4e93..a7a721d 100644 |
36 |
--- a/mono/metadata/threads.c |
37 |
+++ b/mono/metadata/threads.c |
38 |
@@ -1036,12 +1036,17 @@ void ves_icall_System_Threading_InternalThread_Thread_free_internal (MonoInterna |
39 |
CloseHandle (thread); |
40 |
|
41 |
if (this->synch_cs) { |
42 |
- DeleteCriticalSection (this->synch_cs); |
43 |
- g_free (this->synch_cs); |
44 |
+ CRITICAL_SECTION *synch_cs = this->synch_cs; |
45 |
this->synch_cs = NULL; |
46 |
+ DeleteCriticalSection (synch_cs); |
47 |
+ g_free (synch_cs); |
48 |
} |
49 |
|
50 |
- g_free (this->name); |
51 |
+ if (this->name) { |
52 |
+ void *name = this->name; |
53 |
+ this->name = NULL; |
54 |
+ g_free (name); |
55 |
+ } |
56 |
} |
57 |
|
58 |
static void mono_thread_start (MonoThread *thread) |
59 |
-- |
60 |
1.7.5.4 |