diff options
author | nyamatongwe <nyamatongwe@gmail.com> | 2012-04-09 19:49:22 +1000 |
---|---|---|
committer | nyamatongwe <nyamatongwe@gmail.com> | 2012-04-09 19:49:22 +1000 |
commit | ffb5cfffbd4c033a9b4ca6e3736889cb88790b08 (patch) | |
tree | 93d3b991223c001c202e06c30f9194e377e2d101 | |
parent | e024ed6dadedaa7c6c3efccd4cbd88fd882b80eb (diff) | |
download | scintilla-mirror-ffb5cfffbd4c033a9b4ca6e3736889cb88790b08.tar.gz |
Protect against NULLs when text is not valid in encoding.
-rw-r--r-- | cocoa/ScintillaCocoa.mm | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/cocoa/ScintillaCocoa.mm b/cocoa/ScintillaCocoa.mm index e7beda69b..68590798b 100644 --- a/cocoa/ScintillaCocoa.mm +++ b/cocoa/ScintillaCocoa.mm @@ -307,13 +307,14 @@ public: locale:[NSLocale currentLocale]]; const char *cpMapped = [sMapped UTF8String]; - size_t lenMapped = strlen(cpMapped); + size_t lenMapped = cpMapped ? strlen(cpMapped) : 0; if (lenMapped < sizeFolded) { memcpy(folded, cpMapped, lenMapped); } else { lenMapped = 0; } - CFRelease(cfsVal); + if (cfsVal) + CFRelease(cfsVal); return lenMapped; } } @@ -1167,7 +1168,8 @@ void ScintillaCocoa::SetPasteboardData(NSPasteboard* board, const SelectionText [board setString: (NSString *)cfsVal forType: NSStringPboardType]; - CFRelease(cfsVal); + if (cfsVal) + CFRelease(cfsVal); } //-------------------------------------------------------------------------------------------------- |