Browse Source

commit-reach: plug minor memory leak after using is_descendant_of()

ref_newer() builds a commit_list to pass a single potential ancestor to
is_descendant_of().  The latter leaves the list intact.  Release the
allocated memory after the call.

Signed-off-by: René Scharfe <l.s.r@web.de>
Acked-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
René Scharfe 5 years ago committed by Junio C Hamano
parent
commit
d546fe2874
  1. 5
      commit-reach.c

5
commit-reach.c

@ -396,6 +396,7 @@ int ref_newer(const struct object_id *new_oid, const struct object_id *old_oid) @@ -396,6 +396,7 @@ int ref_newer(const struct object_id *new_oid, const struct object_id *old_oid)
struct object *o;
struct commit *old_commit, *new_commit;
struct commit_list *old_commit_list = NULL;
int ret;

/*
* Both new_commit and old_commit must be commit-ish and new_commit is descendant of
@ -417,7 +418,9 @@ int ref_newer(const struct object_id *new_oid, const struct object_id *old_oid) @@ -417,7 +418,9 @@ int ref_newer(const struct object_id *new_oid, const struct object_id *old_oid)
return 0;

commit_list_insert(old_commit, &old_commit_list);
return is_descendant_of(new_commit, old_commit_list);
ret = is_descendant_of(new_commit, old_commit_list);
free_commit_list(old_commit_list);
return ret;
}

/*

Loading…
Cancel
Save