From f15f938f6497f4e511374e5b1cbf8dbf6ea66216 Mon Sep 17 00:00:00 2001 From: ask Date: Tue, 13 Sep 2011 07:14:43 +0000 Subject: [PATCH] TAChart: Fix out-of-range array access in TIntervalList.AddRange git-svn-id: trunk@32308 - --- components/tachart/tachartutils.pas | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/tachart/tachartutils.pas b/components/tachart/tachartutils.pas index 494a21dbc4..75a52f3faa 100644 --- a/components/tachart/tachartutils.pas +++ b/components/tachart/tachartutils.pas @@ -572,12 +572,12 @@ var begin i := 0; while (i <= High(FIntervals)) and (FIntervals[i].FEnd < AStart) do - Inc(i); + i += 1; if i <= High(FIntervals) then AStart := Min(AStart, FIntervals[i].FStart); j := High(FIntervals); while (j >= 0) and (FIntervals[j].FStart > AEnd) do - Dec(j); + j -= 1; if j >= 0 then AEnd := Max(AEnd, FIntervals[j].FEnd); if i < j then begin @@ -587,7 +587,7 @@ begin end else if i > j then begin SetLength(FIntervals, Length(FIntervals) + 1); - for k := High(FIntervals) downto i do + for k := High(FIntervals) downto i + 1 do FIntervals[k] := FIntervals[k - 1]; end; FIntervals[i] := DoubleInterval(AStart, AEnd);