Commit Diff


commit - 599785e85d854563801d9640012f93e799ff87ea
commit + f3933be66b2ab372f0f0b48b3dec7bc6d21b170a
blob - 433147d759abe949b7efd514d370f93b4c975e13
blob + d6f2ff50944b11b7cb15e97a7d921fbfafbb435e
--- 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;
 }