Handle null CFArrayRef returning from _CFHTTPParsedCookiesWithResponseHeaderFields Per CF API naming conventions, this SPI is allowed to return null, and it sometimes does. Properly handle he null check so our "createCookies" function never returns null. <rdar://problem/21995928>
Created attachment 257661 [details] Patch v1
https://trac.webkit.org/changeset/187490
Comment on attachment 257661 [details] Patch v1 View in context: https://bugs.webkit.org/attachment.cgi?id=257661&action=review > Source/WebCore/platform/network/cf/CookieJarCFNet.cpp:117 > static CFArrayRef createCookies(CFDictionaryRef headerFields, CFURLRef url) Peculiar that this one function returns CFArrayRef rather than RetainPtr<CFArrayRef>, when all the rest in the file use RetainPtr. I think we should come back here and change it. > Source/WebCore/platform/network/cf/CookieJarCFNet.cpp:125 > + parsedCookies = CFArrayCreate(kCFAllocatorDefault, 0, 0, &kCFTypeArrayCallBacks); Too bad there is no CF equivalent to @[], annoying to create a new array every time, although not a real problem.
CookieJarCFNet.cpp is no more in same shape or form but we still have following: https://github.com/WebKit/WebKit/blob/a2db53cd97dc8136ac5c2a22d4cd2b53d0d717d6/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNetWin.cpp#L228 and this ASSERT already added: https://github.com/WebKit/WebKit/blob/a2db53cd97dc8136ac5c2a22d4cd2b53d0d717d6/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNetWin.cpp#L181 Do we need anything from this patch or we can close this? Thanks!