diff options
-rw-r--r-- | src/core/basetypes/MCString.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/basetypes/MCString.cc b/src/core/basetypes/MCString.cc index 581bd245..c005ceb1 100644 --- a/src/core/basetypes/MCString.cc +++ b/src/core/basetypes/MCString.cc @@ -962,6 +962,10 @@ void String::appendUTF8CharactersLength(const char * UTF8Characters, unsigned in #if DISABLE_ICU CFStringRef cfStr = CFStringCreateWithBytes(NULL, (const UInt8 *) UTF8Characters, length, kCFStringEncodingUTF8, false); + if (cfStr == NULL) { + // Data could not be converted to UTF-8. + return; + } UniChar * characters = (UniChar *) malloc(sizeof(* characters) * CFStringGetLength(cfStr)); CFStringGetCharacters(cfStr, CFRangeMake(0, CFStringGetLength(cfStr)), characters); appendCharactersLength(characters, (unsigned int) CFStringGetLength(cfStr)); |