bmalloc: Coverity scan issues
authortpopela@redhat.com <tpopela@redhat.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 16 Aug 2018 07:41:46 +0000 (07:41 +0000)
committertpopela@redhat.com <tpopela@redhat.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 16 Aug 2018 07:41:46 +0000 (07:41 +0000)
https://bugs.webkit.org/show_bug.cgi?id=186763

Reviewed by Saam Barati.

* bmalloc/DebugHeap.h: Initialize the m_pageSize variable.
* bmalloc/IsoTLS.cpp:
(bmalloc::IsoTLS::ensureEntries): Check the return value of
pthread_key_create return().
* bmalloc/VMAllocate.h:
(bmalloc::vmPageSize): Correctly check the return value of sysconf().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234913 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/bmalloc/ChangeLog
Source/bmalloc/bmalloc/DebugHeap.h
Source/bmalloc/bmalloc/IsoTLS.cpp
Source/bmalloc/bmalloc/VMAllocate.h

index 81ccbee..8c606ac 100644 (file)
@@ -1,3 +1,17 @@
+2018-08-16  Tomas Popela  <tpopela@redhat.com>
+
+        bmalloc: Coverity scan issues
+        https://bugs.webkit.org/show_bug.cgi?id=186763
+
+        Reviewed by Saam Barati.
+
+        * bmalloc/DebugHeap.h: Initialize the m_pageSize variable.
+        * bmalloc/IsoTLS.cpp:
+        (bmalloc::IsoTLS::ensureEntries): Check the return value of
+        pthread_key_create return().
+        * bmalloc/VMAllocate.h:
+        (bmalloc::vmPageSize): Correctly check the return value of sysconf().
+
 2018-07-27  Mark Lam  <mark.lam@apple.com>
 
         Initialize bmalloc::DebugHeap::m_pageSize for non-Darwin builds.
index 314b9c3..0b16c3f 100644 (file)
@@ -53,7 +53,7 @@ private:
 #endif
     
     // This is the debug heap. We can use whatever data structures we like. It doesn't matter.
-    size_t m_pageSize;
+    size_t m_pageSize { 0 };
     std::mutex m_lock;
     std::unordered_map<void*, size_t> m_sizeMap;
 };
index feb83ff..c96f222 100644 (file)
@@ -69,7 +69,9 @@ IsoTLS* IsoTLS::ensureEntries(unsigned offset)
 #if HAVE_PTHREAD_MACHDEP_H
             pthread_key_init_np(tlsKey, destructor);
 #else
-            pthread_key_create(&s_tlsKey, destructor);
+            int error = pthread_key_create(&s_tlsKey, destructor);
+            if (error)
+                BCRASH();
             s_didInitialize = true;
 #endif
         });
index eb72f05..40e2f8a 100644 (file)
@@ -56,8 +56,12 @@ namespace bmalloc {
 inline size_t vmPageSize()
 {
     static size_t cached;
-    if (!cached)
-        cached = sysconf(_SC_PAGESIZE);
+    if (!cached) {
+        long pageSize = sysconf(_SC_PAGESIZE);
+        if (pageSize < 0)
+            BCRASH();
+        cached = pageSize;
+    }
     return cached;
 }