Commit Diff


commit - 0bb4abaee2617204613bd5d88c90e1c407a50cc3
commit + 27a1ed032f37a6bf70d5bdabd452600125aa7d18
blob - 739dc463c5ac0a9c46b763779baeb00bb886279d
blob + a5ab53c09881abdd830f890c91ced4ca4bb61152
--- lib/reference.c
+++ lib/reference.c
@@ -574,9 +574,11 @@ insert_ref(struct got_reflist_head *refs, struct got_r
 	re = SIMPLEQ_FIRST(refs);
 	while (re) {
 		cmp = got_path_cmp(got_ref_get_name(re->ref),
-		    got_ref_get_name(ref));
+		    got_ref_get_name(new->ref));
 		if (cmp == 0) {
-			got_ref_close(ref); /* duplicate */
+			/* duplicate */
+			free(new->id);
+			free(new);
 			return NULL;
 		} else if (cmp > 0) {
 			if (prev)