Fix memory leak in Qurl::toCFURL()
authorMorten Johan Sørvig <morten.sorvig@digia.com>
Tue, 13 Jan 2015 09:52:39 +0000 (10:52 +0100)
committerJani Heikkinen <jani.heikkinen@theqtcompany.com>
Mon, 19 Jan 2015 07:20:24 +0000 (08:20 +0100)
Release the temp CFString.

Change-Id: I8a5b8f18a42a4a9b2c6671f0f5b32a3f0b14238d
Task-number: QTBUG-43710
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
src/corelib/io/qurl_mac.mm

index c235365ad82367c2853a581de97e42138dd96eb1..4468bf0f2bd35a24d3466e93a2ddae2b52b27e76 100644 (file)
@@ -54,7 +54,13 @@ QUrl QUrl::fromCFURL(CFURLRef url)
 
 CFURLRef QUrl::toCFURL() const
 {
-    return CFURLCreateWithString(0, toString(FullyEncoded).toCFString(), 0);
+    CFURLRef url = 0;
+    CFStringRef str = toString(FullyEncoded).toCFString();
+    if (str) {
+        url = CFURLCreateWithString(0, str, 0);
+        CFRelease(str);
+    }
+    return url;
 }
 
 QUrl QUrl::fromNSURL(const NSURL *url)