aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornyamatongwe <unknown>2011-10-23 10:36:32 +1100
committernyamatongwe <unknown>2011-10-23 10:36:32 +1100
commit5c994706efdabc3fdd547d169ed99192decf67b5 (patch)
tree649064af26b85fa2dacb1fc39be79b09693844c6
parentc2821edd2bbd3fc26013101febc0193c9afe4b60 (diff)
downloadscintilla-mirror-5c994706efdabc3fdd547d169ed99192decf67b5.tar.gz
Avoid crashing for SCI_MARKERNEXT starting at -1. Bug #3427270.
-rw-r--r--src/PerLine.cxx2
-rw-r--r--test/simpleTests.py3
2 files changed, 5 insertions, 0 deletions
diff --git a/src/PerLine.cxx b/src/PerLine.cxx
index c31d4ea9b..7e716ccc0 100644
--- a/src/PerLine.cxx
+++ b/src/PerLine.cxx
@@ -183,6 +183,8 @@ int LineMarkers::MarkValue(int line) {
}
int LineMarkers::MarkerNext(int lineStart, int mask) const {
+ if (lineStart < 0)
+ lineStart = 0;
int length = markers.Length();
for (int iLine = lineStart; iLine < length; iLine++) {
MarkerHandleSet *onLine = markers[iLine];
diff --git a/test/simpleTests.py b/test/simpleTests.py
index 71dab4389..d4163813e 100644
--- a/test/simpleTests.py
+++ b/test/simpleTests.py
@@ -684,6 +684,9 @@ class TestMarkers(unittest.TestCase):
self.assertEquals(self.ed.MarkerPrevious(1, 2), 0)
self.assertEquals(self.ed.MarkerPrevious(2, 2), 2)
+ def testMarkerNegative(self):
+ self.assertEquals(self.ed.MarkerNext(-1, 2), -1)
+
def testLineState(self):
self.assertEquals(self.ed.MaxLineState, 0)
self.assertEquals(self.ed.GetLineState(0), 0)