Title: [249889] trunk/Source/WebKit
Revision
249889
Author
[email protected]
Date
2019-09-15 22:51:49 -0700 (Sun, 15 Sep 2019)

Log Message

REGRESSION (r248592): Leak of CFDictionaryRef in WebKit::NetworkRTCProvider::proxyInfoFromSession()
<https://webkit.org/b/201811>

Reviewed by Youenn Fablet.

* NetworkProcess/webrtc/NetworkRTCProvider.mm:
(WebKit::NetworkRTCProvider::proxyInfoFromSession): Use
RetainPtr<> to fix the leak.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (249888 => 249889)


--- trunk/Source/WebKit/ChangeLog	2019-09-16 00:41:07 UTC (rev 249888)
+++ trunk/Source/WebKit/ChangeLog	2019-09-16 05:51:49 UTC (rev 249889)
@@ -1,3 +1,14 @@
+2019-09-15  David Kilzer  <[email protected]>
+
+        REGRESSION (r248592): Leak of CFDictionaryRef in WebKit::NetworkRTCProvider::proxyInfoFromSession()
+        <https://webkit.org/b/201811>
+
+        Reviewed by Youenn Fablet.
+
+        * NetworkProcess/webrtc/NetworkRTCProvider.mm:
+        (WebKit::NetworkRTCProvider::proxyInfoFromSession): Use
+        RetainPtr<> to fix the leak.
+
 2019-09-14  Adrian Perez de Castro  <[email protected]>
 
         [GTK][WPE] Check for a Snap sandbox a bit harder

Modified: trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.mm (249888 => 249889)


--- trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.mm	2019-09-16 00:41:07 UTC (rev 249888)
+++ trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.mm	2019-09-16 05:51:49 UTC (rev 249889)
@@ -32,6 +32,7 @@
 #include <WebCore/LibWebRTCMacros.h>
 #include <webrtc/rtc_base/asyncpacketsocket.h>
 #include <webrtc/rtc_base/logging.h>
+#include <wtf/RetainPtr.h>
 
 namespace WebKit {
 
@@ -72,19 +73,19 @@
 {
     // FIXME: We should check for kCFNetworkProxiesExceptionsList to decide whether to use proxy or not.
     // FIXME: We should also get username/password for authentication cases.
-    auto proxyDictionary = static_cast<NetworkSessionCocoa&>(session).proxyConfiguration();
+    RetainPtr<CFDictionaryRef> proxyDictionary = static_cast<NetworkSessionCocoa&>(session).proxyConfiguration();
     if (!proxyDictionary)
-        proxyDictionary = CFNetworkCopySystemProxySettings();
+        proxyDictionary = adoptCF(CFNetworkCopySystemProxySettings());
 #if PLATFORM(MAC)
-    if (isEnabled(proxyDictionary, kCFNetworkProxiesHTTPSEnable))
-        return createRTCProxy(proxyDictionary, rtc::PROXY_HTTPS, kCFNetworkProxiesHTTPSProxy, kCFNetworkProxiesHTTPSPort);
+    if (isEnabled(proxyDictionary.get(), kCFNetworkProxiesHTTPSEnable))
+        return createRTCProxy(proxyDictionary.get(), rtc::PROXY_HTTPS, kCFNetworkProxiesHTTPSProxy, kCFNetworkProxiesHTTPSPort);
 
-    if (isEnabled(proxyDictionary, kCFNetworkProxiesSOCKSEnable))
-        return createRTCProxy(proxyDictionary, rtc::PROXY_SOCKS5, kCFNetworkProxiesSOCKSProxy, kCFNetworkProxiesSOCKSPort);
+    if (isEnabled(proxyDictionary.get(), kCFNetworkProxiesSOCKSEnable))
+        return createRTCProxy(proxyDictionary.get(), rtc::PROXY_SOCKS5, kCFNetworkProxiesSOCKSProxy, kCFNetworkProxiesSOCKSPort);
 #endif
 #if PLATFORM(IOS)
-    if (isEnabled(proxyDictionary, kCFNetworkProxiesHTTPEnable))
-        return createRTCProxy(proxyDictionary, rtc::PROXY_HTTPS, kCFNetworkProxiesHTTPProxy, kCFNetworkProxiesHTTPPort);
+    if (isEnabled(proxyDictionary.get(), kCFNetworkProxiesHTTPEnable))
+        return createRTCProxy(proxyDictionary.get(), rtc::PROXY_HTTPS, kCFNetworkProxiesHTTPProxy, kCFNetworkProxiesHTTPPort);
 #endif
     return { };
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to