diff options
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.patch | 24 |
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); |