don't forget to do refcounting in got_object_tag_close()
diff --git a/lib/object_parse.c b/lib/object_parse.c
index a7eb8cd..10b8438 100644
--- a/lib/object_parse.c
+++ b/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);