Title: [187499] branches/safari-600.1.4.17-branch/Source/WebCore
Revision
187499
Author
[email protected]
Date
2015-07-28 12:16:19 -0700 (Tue, 28 Jul 2015)

Log Message

Merged r187490. rdar://problem/22035036

Modified Paths

Diff

Modified: branches/safari-600.1.4.17-branch/Source/WebCore/ChangeLog (187498 => 187499)


--- branches/safari-600.1.4.17-branch/Source/WebCore/ChangeLog	2015-07-28 19:14:05 UTC (rev 187498)
+++ branches/safari-600.1.4.17-branch/Source/WebCore/ChangeLog	2015-07-28 19:16:19 UTC (rev 187499)
@@ -1,3 +1,18 @@
+2015-07-28  Babak Shafiei  <[email protected]>
+
+        Merge r187490.
+
+    2015-07-28  Brady Eidson  <[email protected]>
+
+            Handle null CFArrayRef returning from _CFHTTPParsedCookiesWithResponseHeaderFields.
+            <rdar://problem/21995928> and https://bugs.webkit.org/show_bug.cgi?id=147365
+
+            Reviewed by Alexey Proskuryakov.
+
+            * platform/network/cf/CookieJarCFNet.cpp:
+            (WebCore::filterCookies): ASSERT the input is not null.
+            (WebCore::createCookies): Always return a CFArrayRef, even if it's empty.
+
 2015-07-27  Babak Shafiei  <[email protected]>
 
         Roll out r180020.

Modified: branches/safari-600.1.4.17-branch/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp (187498 => 187499)


--- branches/safari-600.1.4.17-branch/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp	2015-07-28 19:14:05 UTC (rev 187498)
+++ branches/safari-600.1.4.17-branch/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp	2015-07-28 19:16:19 UTC (rev 187499)
@@ -85,6 +85,7 @@
 
 static RetainPtr<CFArrayRef> filterCookies(CFArrayRef unfilteredCookies)
 {
+    ASSERT(unfilteredCookies);
     CFIndex count = CFArrayGetCount(unfilteredCookies);
     RetainPtr<CFMutableArrayRef> filteredCookies = adoptCF(CFArrayCreateMutable(0, count, &kCFTypeArrayCallBacks));
     for (CFIndex i = 0; i < count; ++i) {
@@ -120,7 +121,11 @@
 
 static CFArrayRef createCookies(CFDictionaryRef headerFields, CFURLRef url)
 {
-    return _CFHTTPParsedCookiesWithResponseHeaderFields(kCFAllocatorDefault, headerFields, url);
+    CFArrayRef parsedCookies = _CFHTTPParsedCookiesWithResponseHeaderFields(kCFAllocatorDefault, headerFields, url);
+    if (!parsedCookies)
+        parsedCookies = CFArrayCreate(kCFAllocatorDefault, 0, 0, &kCFTypeArrayCallBacks);
+
+    return parsedCookies;
 }
 
 void setCookiesFromDOM(const NetworkStorageSession& session, const URL& firstParty, const URL& url, const String& value)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to