X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/81345200c95645a1b0d2635520f96ad55dfde63f..refs/heads/master:/API/JSStringRefCF.cpp diff --git a/API/JSStringRefCF.cpp b/API/JSStringRefCF.cpp index 1d30608..0587259 100644 --- a/API/JSStringRefCF.cpp +++ b/API/JSStringRefCF.cpp @@ -41,23 +41,23 @@ JSStringRef JSStringCreateWithCFString(CFStringRef string) // it can hold. () size_t length = CFStringGetLength(string); if (!length) - return OpaqueJSString::create(reinterpret_cast(""), 0).leakRef(); + return &OpaqueJSString::create(reinterpret_cast(""), 0).leakRef(); Vector lcharBuffer(length); CFIndex usedBufferLength; CFIndex convertedSize = CFStringGetBytes(string, CFRangeMake(0, length), kCFStringEncodingISOLatin1, 0, false, lcharBuffer.data(), length, &usedBufferLength); if (static_cast(convertedSize) == length && static_cast(usedBufferLength) == length) - return OpaqueJSString::create(lcharBuffer.data(), length).leakRef(); + return &OpaqueJSString::create(lcharBuffer.data(), length).leakRef(); auto buffer = std::make_unique(length); CFStringGetCharacters(string, CFRangeMake(0, length), buffer.get()); static_assert(sizeof(UniChar) == sizeof(UChar), "UniChar and UChar must be same size"); - return OpaqueJSString::create(reinterpret_cast(buffer.get()), length).leakRef(); + return &OpaqueJSString::create(reinterpret_cast(buffer.get()), length).leakRef(); } CFStringRef JSStringCopyCFString(CFAllocatorRef allocator, JSStringRef string) { - if (!string->length()) + if (!string || !string->length()) return CFSTR(""); if (string->is8Bit())