From 576adef9a5df55d74e2730dc3ffb5db9f0a0a3f2 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Sun, 23 Oct 2011 10:36:32 +1100 Subject: Avoid crashing for SCI_MARKERNEXT starting at -1. Bug #3427270. --- src/PerLine.cxx | 2 ++ test/simpleTests.py | 3 +++ 2 files changed, 5 insertions(+) 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) -- cgit v1.2.3