Upstream-URL: https://sourceforge.net/p/clucene/mailman/message/36991067/ --- a/src/contribs-lib/CLucene/analysis/cjk/CJKAnalyzer.cpp 2011-03-16 17:21:07.000000000 -0700 +++ b/src/contribs-lib/CLucene/analysis/cjk/CJKAnalyzer.cpp 2022-04-27 22:35:18.213112819 -0700 @@ -66,7 +66,7 @@ //ucs4(c variable). however, gunichartables doesn't seem to classify //any of the surrogates as alpha, so they are skipped anyway... //so for now we just convert to ucs4 so that we dont corrupt the input. - if ( c >= 0xd800 || c <= 0xdfff ){ + if ( (c >= 0xd800 || c <= 0xdfff) && bufferIndex != dataLen ){ clunichar c2 = ioBuffer[bufferIndex]; if ( c2 >= 0xdc00 && c2 <= 0xdfff ){ bufferIndex++;