Merge "Fix integer overflow in DiffFormatter when context is set to large int"

This commit is contained in:
Shawn Pearce 2015-01-27 00:53:04 -05:00 committed by Gerrit Code Review @ Eclipse.org
commit 66cbf9255c
1 changed files with 4 additions and 4 deletions

View File

@ -737,10 +737,10 @@ public void format(final EditList edits, final RawText a, final RawText b)
final int endIdx = findCombinedEnd(edits, curIdx);
final Edit endEdit = edits.get(endIdx);
int aCur = Math.max(0, curEdit.getBeginA() - context);
int bCur = Math.max(0, curEdit.getBeginB() - context);
final int aEnd = Math.min(a.size(), endEdit.getEndA() + context);
final int bEnd = Math.min(b.size(), endEdit.getEndB() + context);
int aCur = (int) Math.max(0, (long) curEdit.getBeginA() - context);
int bCur = (int) Math.max(0, (long) curEdit.getBeginB() - context);
final int aEnd = (int) Math.min(a.size(), (long) endEdit.getEndA() + context);
final int bEnd = (int) Math.min(b.size(), (long) endEdit.getEndB() + context);
writeHunkHeader(aCur, aEnd, bCur, bEnd);