X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/b1ab9ed8d0e0f1c3b66d7daa8fd5564444c56195..420ff9d9379a8d93f2c90f026a797bdea1eb4517:/libsecurity_utilities/lib/cfutilities.cpp diff --git a/libsecurity_utilities/lib/cfutilities.cpp b/libsecurity_utilities/lib/cfutilities.cpp index d7ca3a7a..942f5ec8 100644 --- a/libsecurity_utilities/lib/cfutilities.cpp +++ b/libsecurity_utilities/lib/cfutilities.cpp @@ -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)