commit - e0b573502e97109a2383ba55a08e39d0b1891d7f
commit + e09d28b120745366d5f1af3e5d2aee00384ae47a
blob - d2d3fe04e80254afe9c7056ea5e4746a2c02d9ea
blob + c1a026bc8f6241358b948162f01eba7bde390c71
--- lib/reference.c
+++ lib/reference.c
void
got_ref_close(struct got_reference *ref)
{
- if (ref->flags & GOT_REF_IS_SYMBOLIC)
+ if (ref->flags & GOT_REF_IS_SYMBOLIC) {
free(ref->ref.symref.name);
- else
+ free(ref->ref.symref.ref);
+ } else
free(ref->ref.ref.name);
free(ref);
}
cmp = got_path_cmp(got_ref_get_name(re->ref),
got_ref_get_name(ref));
if (cmp == 0) {
- free(ref); /* duplicate */
+ got_ref_close(ref); /* duplicate */
return NULL;
} else if (cmp > 0) {
if (prev)