]> git.saurik.com Git - apple/security.git/blobdiff - libsecurity_utilities/lib/cfutilities.cpp
Security-55471.14.8.tar.gz
[apple/security.git] / libsecurity_utilities / lib / cfutilities.cpp
index d7ca3a7a2d103fe64c20c2575418f690621a53e5..942f5ec81df73898db1832224ec3cda19f9d9be0 100644 (file)
@@ -48,12 +48,22 @@ CFEmptyArray::CFEmptyArray()
 //
 CFURLRef makeCFURL(const char *s, bool isDirectory, CFURLRef base)
 {
+    CFStringRef ss = CFStringCreateWithCStringNoCopy(NULL, s, kCFStringEncodingUTF8, kCFAllocatorNull);
+    CFURLRef returnValue = NULL;
+
        if (base)
-               return CFURLCreateWithFileSystemPathRelativeToBase(NULL,
-                       CFTempString(s), kCFURLPOSIXPathStyle, isDirectory, base);
+    {
+               returnValue = CFURLCreateWithFileSystemPathRelativeToBase(NULL,
+                       ss, kCFURLPOSIXPathStyle, isDirectory, base);
+    }
        else
-               return CFURLCreateWithFileSystemPath(NULL,
-                       CFTempString(s), kCFURLPOSIXPathStyle, isDirectory);
+    {
+               returnValue = CFURLCreateWithFileSystemPath(NULL,
+                       ss, kCFURLPOSIXPathStyle, isDirectory);
+    }
+    
+    CFRelease(ss);
+    return returnValue;
 }
 
 CFURLRef makeCFURL(CFStringRef s, bool isDirectory, CFURLRef base)