summaryrefslogtreecommitdiff
path: root/user/clucene/buffer-overflow.patch
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2023-02-11 00:38:53 -0600
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2023-02-11 00:38:53 -0600
commit85b8dd24d4b16e9d12247163cba34de30be47fe1 (patch)
tree5c3214b6210600e39d8244056ec58540bcee8d00 /user/clucene/buffer-overflow.patch
parent86c0a8e199e42bee5b5358c4a822912ef4b7ceac (diff)
downloadpackages-85b8dd24d4b16e9d12247163cba34de30be47fe1.tar.gz
packages-85b8dd24d4b16e9d12247163cba34de30be47fe1.tar.bz2
packages-85b8dd24d4b16e9d12247163cba34de30be47fe1.tar.xz
packages-85b8dd24d4b16e9d12247163cba34de30be47fe1.zip
user/clucene: More fixes
This doesn't fix the test failure, but is more correct.
Diffstat (limited to 'user/clucene/buffer-overflow.patch')
-rw-r--r--user/clucene/buffer-overflow.patch13
1 files changed, 13 insertions, 0 deletions
diff --git a/user/clucene/buffer-overflow.patch b/user/clucene/buffer-overflow.patch
new file mode 100644
index 000000000..9207bc369
--- /dev/null
+++ b/user/clucene/buffer-overflow.patch
@@ -0,0 +1,13 @@
+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++;