Title: [251089] trunk
Revision
251089
Author
achristen...@apple.com
Date
2019-10-14 13:25:40 -0700 (Mon, 14 Oct 2019)

Log Message

REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing
https://bugs.webkit.org/show_bug.cgi?id=201902

Reviewed by Ryosuke Niwa.

Source/WebCore:

* Modules/webauthn/fido/U2fResponseConverter.cpp:
(fido::WebCore::createAttestedCredentialDataFromU2fRegisterResponse):

Source/WTF:

* wtf/Vector.h:
The code introduced in r108153 to workaround a warning when building Chrome was causing us to use uninitialized memory
when we create a Vector with the size_t/{signed,unsigned}char constructor with a constexpr size_t.
This was the cause of bug 201902 and bug 201620 which only manifested themselves in release builds with some compilers.

Tools:

* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F):

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (251088 => 251089)


--- trunk/Source/WTF/ChangeLog	2019-10-14 19:54:28 UTC (rev 251088)
+++ trunk/Source/WTF/ChangeLog	2019-10-14 20:25:40 UTC (rev 251089)
@@ -1,3 +1,15 @@
+2019-10-14  Alex Christensen  <achristen...@webkit.org>
+
+        REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing
+        https://bugs.webkit.org/show_bug.cgi?id=201902
+
+        Reviewed by Ryosuke Niwa.
+
+        * wtf/Vector.h:
+        The code introduced in r108153 to workaround a warning when building Chrome was causing us to use uninitialized memory
+        when we create a Vector with the size_t/{signed,unsigned}char constructor with a constexpr size_t.
+        This was the cause of bug 201902 and bug 201620 which only manifested themselves in release builds with some compilers.
+
 2019-10-14  Per Arne Vollan  <pvol...@apple.com>
 
         [macOS] Sandbox extensions should be created with audit tokens, not PIDs

Modified: trunk/Source/WTF/wtf/Vector.h (251088 => 251089)


--- trunk/Source/WTF/wtf/Vector.h	2019-10-14 19:54:28 UTC (rev 251088)
+++ trunk/Source/WTF/wtf/Vector.h	2019-10-14 20:25:40 UTC (rev 251089)
@@ -204,10 +204,7 @@
     static void uninitializedFill(T* dst, T* dstEnd, const T& val) 
     {
         static_assert(sizeof(T) == 1, "Size of type T should be equal to one!");
-#if COMPILER(GCC_COMPATIBLE) && defined(_FORTIFY_SOURCE)
-        if (!__builtin_constant_p(dstEnd - dst) || (!(dstEnd - dst)))
-#endif
-            memset(dst, val, dstEnd - dst);
+        memset(dst, val, dstEnd - dst);
     }
 };
 

Modified: trunk/Source/WebCore/ChangeLog (251088 => 251089)


--- trunk/Source/WebCore/ChangeLog	2019-10-14 19:54:28 UTC (rev 251088)
+++ trunk/Source/WebCore/ChangeLog	2019-10-14 20:25:40 UTC (rev 251089)
@@ -1,3 +1,13 @@
+2019-10-14  Alex Christensen  <achristen...@webkit.org>
+
+        REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing
+        https://bugs.webkit.org/show_bug.cgi?id=201902
+
+        Reviewed by Ryosuke Niwa.
+
+        * Modules/webauthn/fido/U2fResponseConverter.cpp:
+        (fido::WebCore::createAttestedCredentialDataFromU2fRegisterResponse):
+
 2019-10-14  Russell Epstein  <russel...@apple.com>
 
         Unreviewed, rolling out r251081.

Modified: trunk/Source/WebCore/Modules/webauthn/fido/U2fResponseConverter.cpp (251088 => 251089)


--- trunk/Source/WebCore/Modules/webauthn/fido/U2fResponseConverter.cpp	2019-10-14 19:54:28 UTC (rev 251088)
+++ trunk/Source/WebCore/Modules/webauthn/fido/U2fResponseConverter.cpp	2019-10-14 20:25:40 UTC (rev 251089)
@@ -98,9 +98,7 @@
     if (credentialId.isEmpty())
         return { };
 
-    Vector<uint8_t> aaguid(aaguidLength);
-    memset(aaguid.data(), 0, aaguidLength);
-    return buildAttestedCredentialData(aaguid, credentialId, publicKey);
+    return buildAttestedCredentialData(Vector<uint8_t>(aaguidLength, 0), credentialId, publicKey);
 }
 
 static size_t parseX509Length(const Vector<uint8_t>& u2fData, size_t offset)

Modified: trunk/Tools/ChangeLog (251088 => 251089)


--- trunk/Tools/ChangeLog	2019-10-14 19:54:28 UTC (rev 251088)
+++ trunk/Tools/ChangeLog	2019-10-14 20:25:40 UTC (rev 251089)
@@ -1,3 +1,13 @@
+2019-10-14  Alex Christensen  <achristen...@webkit.org>
+
+        REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing
+        https://bugs.webkit.org/show_bug.cgi?id=201902
+
+        Reviewed by Ryosuke Niwa.
+
+        * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
+        (TestWebKitAPI::TEST_F):
+
 2019-10-14  Saam Barati  <sbar...@apple.com>
 
         Canonicalize how we prepare the prototype chain for inline caching

Modified: trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp (251088 => 251089)


--- trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp	2019-10-14 19:54:28 UTC (rev 251088)
+++ trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp	2019-10-14 20:25:40 UTC (rev 251089)
@@ -101,7 +101,6 @@
     EXPECT_EQ(0, memcmp(expectedConcatenation, arrayBuffer->data(), strlen(expectedConcatenation)));
 }
 
-#if !PLATFORM(IOS) // FIXME: webkit.org/b/201902 REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing
 TEST_F(SharedBufferTest, tryCreateArrayBufferLargeSegments)
 {
     Vector<char> vector0(0x4000, 'a');
@@ -127,7 +126,6 @@
         ++position;
     }
 }
-#endif // !PLATFORM(IOS)
 
 TEST_F(SharedBufferTest, copy)
 {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to