summaryrefslogtreecommitdiff
path: root/dev-util/codeblocks/files/codeblocks-20.03_Scintilla_fix_buffer_over-read_with_absolute_reference.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/codeblocks/files/codeblocks-20.03_Scintilla_fix_buffer_over-read_with_absolute_reference.patch')
-rw-r--r--dev-util/codeblocks/files/codeblocks-20.03_Scintilla_fix_buffer_over-read_with_absolute_reference.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/dev-util/codeblocks/files/codeblocks-20.03_Scintilla_fix_buffer_over-read_with_absolute_reference.patch b/dev-util/codeblocks/files/codeblocks-20.03_Scintilla_fix_buffer_over-read_with_absolute_reference.patch
new file mode 100644
index 000000000000..7ef01faf9cd2
--- /dev/null
+++ b/dev-util/codeblocks/files/codeblocks-20.03_Scintilla_fix_buffer_over-read_with_absolute_reference.patch
@@ -0,0 +1,24 @@
+Upstream patch: https://sourceforge.net/u/vic5/scintilla/ci/6d0ce3c92a1371372bd601cd572a078d5e4041a4/
+Upstream issue: https://sourceforge.net/p/scintilla/bugs/2019/
+Codeblocks forum discussion: https://forums.codeblocks.org/index.php?topic=24505.0
+
+lexers/LexMMIXAL.cxxDiffSwitch to side-by-side view
+--- a/src/sdk/wxscintilla/src/scintilla/lexers/LexMMIXAL.cxx
++++ b/src/sdk/wxscintilla/src/scintilla/lexers/LexMMIXAL.cxx
+@@ -99,12 +99,11 @@
+ }
+ } else if (sc.state == SCE_MMIXAL_REF) { // REF
+ if (!IsAWordChar(sc.ch) ) {
+- char s[100];
+- sc.GetCurrent(s, sizeof(s));
++ char s0[100];
++ sc.GetCurrent(s0, sizeof(s0));
++ const char *s = s0;
+ if (*s == ':') { // ignore base prefix for match
+- for (size_t i = 0; i != sizeof(s); ++i) {
+- *(s+i) = *(s+i+1);
+- }
++ ++s;
+ }
+ if (special_register.InList(s)) {
+ sc.ChangeState(SCE_MMIXAL_REGISTER);