Fix 64-bit vs 32-bit mismatch in PersistentCoders.h
authorkrollin@apple.com <krollin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 31 Jul 2019 16:26:57 +0000 (16:26 +0000)
committerkrollin@apple.com <krollin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 31 Jul 2019 16:26:57 +0000 (16:26 +0000)
https://bugs.webkit.org/show_bug.cgi?id=200288
<rdar://problem/53734203>

Reviewed by Chris Dumez.

hashMapSize is declared as a uint64_t. It is passed to
HashMapType::reserveInitialCapacity, which takes an unsigned int. This
is a 32-bit value on 32-bit platforms, leading to a compile time
error. Fix his by casting hashMapSize to the expected type.

* wtf/persistence/PersistentCoders.h:

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

Source/WTF/ChangeLog
Source/WTF/wtf/persistence/PersistentCoders.h

index 9430e6d..fcdd48e 100644 (file)
@@ -1,5 +1,20 @@
 2019-07-31  Keith Rollin  <krollin@apple.com>
 
+        Fix 64-bit vs 32-bit mismatch in PersistentCoders.h
+        https://bugs.webkit.org/show_bug.cgi?id=200288
+        <rdar://problem/53734203>
+
+        Reviewed by Chris Dumez.
+
+        hashMapSize is declared as a uint64_t. It is passed to
+        HashMapType::reserveInitialCapacity, which takes an unsigned int. This
+        is a 32-bit value on 32-bit platforms, leading to a compile time
+        error. Fix his by casting hashMapSize to the expected type.
+
+        * wtf/persistence/PersistentCoders.h:
+
+2019-07-31  Keith Rollin  <krollin@apple.com>
+
         Fix 64-bit vs 32-bit mismatch in LogArgument
         https://bugs.webkit.org/show_bug.cgi?id=200286
         <rdar://problem/53733671>
index b416ad8..909532d 100644 (file)
@@ -196,7 +196,7 @@ template<typename KeyArg, typename MappedArg, typename HashArg, typename KeyTrai
             return false;
 
         HashMapType tempHashMap;
-        tempHashMap.reserveInitialCapacity(hashMapSize);
+        tempHashMap.reserveInitialCapacity(static_cast<unsigned>(hashMapSize));
         for (uint64_t i = 0; i < hashMapSize; ++i) {
             KeyArg key;
             MappedArg value;