Commit Diff


commit - 9aae7366832613bbb94f56a2465380f5c2f56e7f
commit + 85a99d1ea6ce4169303c521409e5527f69826641
blob - ba9fa9fb981f796ba43c099da5e0ec23e4894c16
blob + 61992d2553baf27890c541fea662c105db402a7d
--- lib/commit_graph.c
+++ lib/commit_graph.c
@@ -518,16 +518,20 @@ fetch_commits_from_open_branches(struct got_commit_gra
 				break;
 			continue;
 		}
-		if (changed)
+		if (changed) {
 			add_node_to_iter_list(graph, new_node,
 			    got_object_commit_get_committer_time(commit));
+			arg.tips[i].new_node = NULL;
+		}
 		err = advance_branch(graph, commit_id, commit, repo);
 		if (err)
 			break;
 	}
 done:
-	for (i = 0; i < arg.ntips; i++)
+	for (i = 0; i < arg.ntips; i++) {
 		got_object_commit_close(arg.tips[i].commit);
+		free(arg.tips[i].new_node);
+	}
 	return err;
 }