diff options
author | Martin Baulig <mabaul@microsoft.com> | 2017-07-31 20:01:41 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-31 20:01:41 +0300 |
commit | 256dbaaa205a6aa7e8b7c8de51bed3378fe55e85 (patch) | |
tree | 6e68ae841b0529bdbebaa553da922796ae13936f /mcs/class/referencesource/mscorlib/system/runtime | |
parent | f0398a70a52b66e4f0aec55cc760712e5f84aaeb (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.cs | 5 |
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; |