tsan: add sanity checks into memory allocator
authorDmitry Vyukov <dvyukov@google.com>
Fri, 30 Nov 2012 17:26:50 +0000 (17:26 +0000)
committerDmitry Vyukov <dvyukov@google.com>
Fri, 30 Nov 2012 17:26:50 +0000 (17:26 +0000)
llvm-svn: 169015

compiler-rt/lib/sanitizer_common/sanitizer_allocator64.h

index 2f4e697..f045bde 100644 (file)
@@ -460,11 +460,13 @@ class LargeMmapAllocator {
   };
 
   Header *GetHeader(uptr p) {
+    CHECK_EQ(p % page_size_, 0);
     return reinterpret_cast<Header*>(p - page_size_);
   }
   Header *GetHeader(void *p) { return GetHeader(reinterpret_cast<uptr>(p)); }
 
   void *GetUser(Header *h) {
+    CHECK_EQ((uptr)h % page_size_, 0);
     return reinterpret_cast<void*>(reinterpret_cast<uptr>(h) + page_size_);
   }