зеркало из https://github.com/microsoft/git.git
diff --color-moved-ws: fix a memory leak
Don't duplicate the indentation string if we're not going to use it. This was found with asan. Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Reviewed-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
cf074a9b0e
Коммит
fe4516d103
5
diff.c
5
diff.c
|
@ -811,10 +811,13 @@ static int compute_ws_delta(const struct emitted_diff_symbol *a,
|
||||||
const struct emitted_diff_symbol *shorter = a->len > b->len ? b : a;
|
const struct emitted_diff_symbol *shorter = a->len > b->len ? b : a;
|
||||||
int d = longer->len - shorter->len;
|
int d = longer->len - shorter->len;
|
||||||
|
|
||||||
|
if (strncmp(longer->line + d, shorter->line, shorter->len))
|
||||||
|
return 0;
|
||||||
|
|
||||||
out->string = xmemdupz(longer->line, d);
|
out->string = xmemdupz(longer->line, d);
|
||||||
out->current_longer = (a == longer);
|
out->current_longer = (a == longer);
|
||||||
|
|
||||||
return !strncmp(longer->line + d, shorter->line, shorter->len);
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cmp_in_block_with_wsd(const struct diff_options *o,
|
static int cmp_in_block_with_wsd(const struct diff_options *o,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче