summaryrefslogtreecommitdiff
path: root/legacy/clucene/buffer-overflow.patch
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2023-02-12 22:08:41 -0600
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2023-02-12 22:08:41 -0600
commit12bf0314937b208b9c07d15972314d61ef845006 (patch)
treee3ba3ad7d158ddcec83a608b583136ae32c135f5 /legacy/clucene/buffer-overflow.patch
parentff814c108b7b21ef31182aa43276348c69d0c448 (diff)
downloadpackages-12bf0314937b208b9c07d15972314d61ef845006.tar.gz
packages-12bf0314937b208b9c07d15972314d61ef845006.tar.bz2
packages-12bf0314937b208b9c07d15972314d61ef845006.tar.xz
packages-12bf0314937b208b9c07d15972314d61ef845006.zip
user/clucene: Retire to legacy/
No upstream commits in years. No response to bug reports from other teams. Really weird test failures on 32-bit architectures, likely caused by interactions with signedness and 64-bit integers. Ref: #873 #880
Diffstat (limited to 'legacy/clucene/buffer-overflow.patch')
-rw-r--r--legacy/clucene/buffer-overflow.patch13
1 files changed, 13 insertions, 0 deletions
diff --git a/legacy/clucene/buffer-overflow.patch b/legacy/clucene/buffer-overflow.patch
new file mode 100644
index 000000000..9207bc369
--- /dev/null
+++ b/legacy/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++;