commit-reach: fix cast in compare_commits_by_gen()

The elements of the array to be sorted are commit pointers, so the
comparison function gets handed references to these pointers, not
pointers to commit objects.  Cast to the right type and dereference
once to correctly get the commit reference.

Found using Clang's ASan and t5500.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe 2018-10-01 21:16:01 +02:00 коммит произвёл Junio C Hamano
Родитель 4067a64672
Коммит 8628ace269
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -526,8 +526,8 @@ int commit_contains(struct ref_filter *filter, struct commit *commit,
static int compare_commits_by_gen(const void *_a, const void *_b)
{
const struct commit *a = (const struct commit *)_a;
const struct commit *b = (const struct commit *)_b;
const struct commit *a = *(const struct commit * const *)_a;
const struct commit *b = *(const struct commit * const *)_b;
if (a->generation < b->generation)
return -1;