Commit Diff


commit - 89949963d7ea33258d4ff6d175695441b8fcc346
commit + ca0d469cb4212326f73d03f606119be5011f2d82
blob - a7eb8cd510563e49f6c0f23b5d12cdea3bc64c32
blob + 10b843802494c5f2896fe09dc9ac6e988484f623
--- lib/object_parse.c
+++ lib/object_parse.c
@@ -711,6 +711,12 @@ done:
 void
 got_object_tag_close(struct got_tag_object *tag)
 {
+	if (tag->refcnt > 0) {
+		tag->refcnt--;
+		if (tag->refcnt > 0)
+			return;
+	}
+
 	free(tag->tag);
 	free(tag->tagger);
 	free(tag->tagmsg);