Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Baulig <mabaul@microsoft.com>2017-07-31 20:01:41 +0300
committerGitHub <noreply@github.com>2017-07-31 20:01:41 +0300
commit256dbaaa205a6aa7e8b7c8de51bed3378fe55e85 (patch)
tree6e68ae841b0529bdbebaa553da922796ae13936f /mcs/class/referencesource/mscorlib/system/runtime
parentf0398a70a52b66e4f0aec55cc760712e5f84aaeb (diff)
[corlib]: Fix race condition in ExceptionDispatchInfo. (#5279)
Diffstat (limited to 'mcs/class/referencesource/mscorlib/system/runtime')
-rw-r--r--mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs5
1 files changed, 3 insertions, 2 deletions
diff --git a/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs b/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs
index 77ffc4c02c8..7d31bda158c 100644
--- a/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs
+++ b/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs
@@ -47,10 +47,11 @@ namespace System.Runtime.ExceptionServices {
// Copy over the details we need to save.
m_Exception = exception;
#if MONO
- var count = exception.captured_traces == null ? 0 : exception.captured_traces.Length;
+ var traces = exception.captured_traces;
+ var count = traces == null ? 0 : traces.Length;
var stack_traces = new System.Diagnostics.StackTrace [count + 1];
if (count != 0)
- Array.Copy (exception.captured_traces, 0, stack_traces, 0, count);
+ Array.Copy (traces, 0, stack_traces, 0, count);
stack_traces [count] = new System.Diagnostics.StackTrace (exception, 0, true);
m_stackTrace = stack_traces;