Title: [97009] trunk/Source/WebCore
Revision
97009
Author
[email protected]
Date
2011-10-08 07:19:36 -0700 (Sat, 08 Oct 2011)

Log Message

Add support for ADDRESS_SANITIZER in RenderArena
allocate, free calls.
https://bugs.webkit.org/show_bug.cgi?id=69636

Reviewed by Darin Adler.

Use malloc, free directly without using the debug header. Otherwise,
we won't be able to detect out of bounds access in debug header.

* rendering/RenderArena.cpp:
(WebCore::RenderArena::allocate):
(WebCore::RenderArena::free):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (97008 => 97009)


--- trunk/Source/WebCore/ChangeLog	2011-10-08 13:10:20 UTC (rev 97008)
+++ trunk/Source/WebCore/ChangeLog	2011-10-08 14:19:36 UTC (rev 97009)
@@ -1,3 +1,18 @@
+2011-10-08  Abhishek Arya  <[email protected]>
+
+        Add support for ADDRESS_SANITIZER in RenderArena
+        allocate, free calls.
+        https://bugs.webkit.org/show_bug.cgi?id=69636
+
+        Reviewed by Darin Adler.
+
+        Use malloc, free directly without using the debug header. Otherwise,
+        we won't be able to detect out of bounds access in debug header.
+
+        * rendering/RenderArena.cpp:
+        (WebCore::RenderArena::allocate):
+        (WebCore::RenderArena::free):
+
 2011-10-08  Kent Tamura  <[email protected]>
 
         Remove some static functions of HTMLSelectElement

Modified: trunk/Source/WebCore/rendering/RenderArena.cpp (97008 => 97009)


--- trunk/Source/WebCore/rendering/RenderArena.cpp	2011-10-08 13:10:20 UTC (rev 97008)
+++ trunk/Source/WebCore/rendering/RenderArena.cpp	2011-10-08 14:19:36 UTC (rev 97009)
@@ -79,7 +79,9 @@
 {
     m_totalSize += size;
 
-#ifndef NDEBUG
+#ifdef ADDRESS_SANITIZER
+    return ::malloc(size);
+#elif !defined(NDEBUG)
     // Use standard malloc so that memory debugging tools work.
     ASSERT(this);
     void* block = ::malloc(debugHeaderSize + size);
@@ -119,7 +121,9 @@
 {
     m_totalSize -= size;
 
-#ifndef NDEBUG
+#ifdef ADDRESS_SANITIZER
+    ::free(ptr);
+#elif !defined(NDEBUG)
     // Use standard free so that memory debugging tools work.
     void* block = static_cast<char*>(ptr) - debugHeaderSize;
     RenderArenaDebugHeader* header = static_cast<RenderArenaDebugHeader*>(block);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to