mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-22 14:52:41 +01:00
Fix an invalid index access for synthetic lint inline comments from Harbormaster
Summary: Ref T13524. If a Harbormaster lint message has no line number (which is permitted), we try to access an invalid index here. This is an exception after D21044. Treat comments with no line number as unchanged. These comments do not have "ghost" behavior and do not port across diffs. Test Plan: - Used "harbormaster.sendmessage" to submit lint with no line number on a changeset. - Viewed changeset. - Before patch: "Undefined index: <null>" error. - After patch: Clean changeset with lint message. {F7400072} Maniphest Tasks: T13524 Differential Revision: https://secure.phabricator.com/D21178
This commit is contained in:
parent
6617005365
commit
aa20faeaa5
1 changed files with 8 additions and 4 deletions
|
@ -980,10 +980,15 @@ final class DifferentialChangesetParser extends Phobject {
|
||||||
$new_side = $this->isCommentOnRightSideWhenDisplayed($comment);
|
$new_side = $this->isCommentOnRightSideWhenDisplayed($comment);
|
||||||
|
|
||||||
$line = $comment->getLineNumber();
|
$line = $comment->getLineNumber();
|
||||||
if ($new_side) {
|
|
||||||
$back_line = $new_backmap[$line];
|
// See T13524. Lint inlines from Harbormaster may not have a line
|
||||||
|
// number.
|
||||||
|
if ($line === null) {
|
||||||
|
$back_line = null;
|
||||||
|
} else if ($new_side) {
|
||||||
|
$back_line = idx($new_backmap, $line);
|
||||||
} else {
|
} else {
|
||||||
$back_line = $old_backmap[$line];
|
$back_line = idx($old_backmap, $line);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($back_line != $line) {
|
if ($back_line != $line) {
|
||||||
|
@ -1002,7 +1007,6 @@ final class DifferentialChangesetParser extends Phobject {
|
||||||
|
|
||||||
$comment->setLineNumber($back_line);
|
$comment->setLineNumber($back_line);
|
||||||
$comment->setLineLength(0);
|
$comment->setLineLength(0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$start = max($comment->getLineNumber() - $lines_context, 0);
|
$start = max($comment->getLineNumber() - $lines_context, 0);
|
||||||
|
|
Loading…
Reference in a new issue