Hi Thomas,

[quickly, as I will go back to a proper vacation after this]

On Wed, 12 Sep 2018, Thomas Gummerer wrote:

> diff --git a/linear-assignment.c b/linear-assignment.c
> index 9b3e56e283..7700b80eeb 100644
> --- a/linear-assignment.c
> +++ b/linear-assignment.c
> @@ -51,8 +51,8 @@ void compute_assignment(int column_count, int row_count, 
> int *cost,
>               else if (j1 < -1)
>                       row2column[i] = -2 - j1;
>               else {
> -                     int min = COST(!j1, i) - v[!j1];
> -                     for (j = 1; j < column_count; j++)
> +                     int min = INT_MAX;

I am worried about this, as I tried very hard to avoid integer overruns.

Wouldn't it be possible to replace the `else {` by an appropriate `else if
(...) { ... } else {`? E.g. `else if (column_count < 2)` or some such?

Ciao,
Dscho

> +                     for (j = 0; j < column_count; j++)
>                               if (j != j1 && min > COST(j, i) - v[j])
>                                       min = COST(j, i) - v[j];
>                       v[j1] -= min;
> diff --git a/t/t3206-range-diff.sh b/t/t3206-range-diff.sh
> index 2237c7f4af..fb4c13a84a 100755
> --- a/t/t3206-range-diff.sh
> +++ b/t/t3206-range-diff.sh
> @@ -142,4 +142,9 @@ test_expect_success 'changed message' '
>       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_done
> -- 
> 2.19.0.397.gdd90340f6a
> 
> 

Reply via email to