[compiler-rt] r224508 - tsan: don't crash with NULL deref during reporting

Dmitry Vyukov dvyukov at google.com
Thu Dec 18 02:19:32 PST 2014


Author: dvyukov
Date: Thu Dec 18 04:19:32 2014
New Revision: 224508

URL: http://llvm.org/viewvc/llvm-project?rev=224508&view=rev
Log:
tsan: don't crash with NULL deref during reporting

tctx==NULL crash observed during deadlock reporting.
There seems to be some bugs in the deadlock detector,
but it is still useful to be more robust during reporting.


Modified:
    compiler-rt/trunk/lib/tsan/rtl/tsan_rtl_report.cc

Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_rtl_report.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_rtl_report.cc?rev=224508&r1=224507&r2=224508&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/rtl/tsan_rtl_report.cc (original)
+++ compiler-rt/trunk/lib/tsan/rtl/tsan_rtl_report.cc Thu Dec 18 04:19:32 2014
@@ -251,7 +251,9 @@ ThreadContext *IsThreadStackOrTls(uptr a
 
 void ScopedReport::AddThread(int unique_tid, bool suppressable) {
 #ifndef SANITIZER_GO
-  AddThread(FindThreadByUidLocked(unique_tid), suppressable);
+  const ThreadContext *tctx = FindThreadByUidLocked(unique_tid);
+  if (tctx)
+    AddThread(FindThreadByUidLocked(unique_tid), suppressable);
 #endif
 }
 





More information about the llvm-commits mailing list