[llvm-commits] [compiler-rt] r163092 - /compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cc

Dmitry Vyukov dvyukov at google.com
Sun Sep 2 05:04:51 PDT 2012


Author: dvyukov
Date: Sun Sep  2 07:04:51 2012
New Revision: 163092

URL: http://llvm.org/viewvc/llvm-project?rev=163092&view=rev
Log:
tsan: do not crash with obscure message if a user passes invalid arguments to malloc/free/memset/etc

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

Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cc?rev=163092&r1=163091&r2=163092&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cc (original)
+++ compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cc Sun Sep  2 07:04:51 2012
@@ -433,9 +433,11 @@
     addr += offset;
     size -= offset;
   }
-  CHECK_EQ(addr % 8, 0);
-  CHECK(IsAppMem(addr));
-  CHECK(IsAppMem(addr + size - 1));
+  DCHECK_EQ(addr % 8, 0);
+  // If a user passes some insane arguments (memset(0)),
+  // let it just crash as usual.
+  if (!IsAppMem(addr) || !IsAppMem(addr + size - 1))
+    return;
   (void)thr;
   (void)pc;
   // Some programs mmap like hundreds of GBs but actually used a small part.





More information about the llvm-commits mailing list