diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-06-13 05:41:29 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-06-13 05:41:29 +0000 |
commit | 0948d93b7fdd571236536eff218aaadfaac5558e (patch) | |
tree | 11d5a94be51ae49a06b350e94151af77792f9cb0 /clang/lib | |
parent | 4060f774625d4539f4143993fe7ca990a5de512a (diff) | |
download | bcm5719-llvm-0948d93b7fdd571236536eff218aaadfaac5558e.tar.gz bcm5719-llvm-0948d93b7fdd571236536eff218aaadfaac5558e.zip |
Fix off-by-one error in UTF-16 encoding: don't try to use a surrogate pair for U+FFFF.
llvm-svn: 158391
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Lex/LiteralSupport.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Lex/LiteralSupport.cpp b/clang/lib/Lex/LiteralSupport.cpp index 2930d6a5ff0..9b0bc703454 100644 --- a/clang/lib/Lex/LiteralSupport.cpp +++ b/clang/lib/Lex/LiteralSupport.cpp @@ -322,7 +322,7 @@ static void EncodeUCNEscape(const char *ThisTokBegin, const char *&ThisTokBuf, // using reinterpret_cast. UTF16 *ResultPtr = reinterpret_cast<UTF16*>(ResultBuf); - if (UcnVal < (UTF32)0xFFFF) { + if (UcnVal <= (UTF32)0xFFFF) { *ResultPtr = UcnVal; ResultBuf += 2; return; |