mirror of
https://github.com/git/git
synced 2024-08-27 03:29:21 +00:00
Merge branch 'tg/range-diff-corner-case-fix'
Recently added "range-diff" had a corner-case bug to cause it segfault, which has been corrected. * tg/range-diff-corner-case-fix: linear-assignment: fix potential out of bounds memory access
This commit is contained in:
commit
51bbcda1c7
|
@ -19,6 +19,12 @@ void compute_assignment(int column_count, int row_count, int *cost,
|
||||||
int *free_row, free_count = 0, saved_free_count, *pred, *col;
|
int *free_row, free_count = 0, saved_free_count, *pred, *col;
|
||||||
int i, j, phase;
|
int i, j, phase;
|
||||||
|
|
||||||
|
if (column_count < 2) {
|
||||||
|
memset(column2row, 0, sizeof(int) * column_count);
|
||||||
|
memset(row2column, 0, sizeof(int) * row_count);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
memset(column2row, -1, sizeof(int) * column_count);
|
memset(column2row, -1, sizeof(int) * column_count);
|
||||||
memset(row2column, -1, sizeof(int) * row_count);
|
memset(row2column, -1, sizeof(int) * row_count);
|
||||||
ALLOC_ARRAY(v, column_count);
|
ALLOC_ARRAY(v, column_count);
|
||||||
|
|
|
@ -122,6 +122,11 @@ test_expect_success 'changed commit' '
|
||||||
test_cmp expected actual
|
test_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'no commits on one side' '
|
||||||
|
git commit --amend -m "new message" &&
|
||||||
|
git range-diff master HEAD@{1} HEAD
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'changed message' '
|
test_expect_success 'changed message' '
|
||||||
git range-diff --no-color topic...changed-message >actual &&
|
git range-diff --no-color topic...changed-message >actual &&
|
||||||
sed s/Z/\ /g >expected <<-EOF &&
|
sed s/Z/\ /g >expected <<-EOF &&
|
||||||
|
|
Loading…
Reference in a new issue