commit 0e2a293c046868d92a2f39cd404f35d0aeea042c from: Stefan Sperling date: Tue Jul 10 17:12:54 2018 UTC clean up allocations after showing diff from blame view commit - ad6a6c4371b8122e00a0989cf62a9629725b3528 commit + 0e2a293c046868d92a2f39cd404f35d0aeea042c blob - cf33c3244b83ca1ff4ad7a779d990de556785c19 blob + 9c48d2bd222a4577eb9c99ee43a38db470dc7933 --- tog/tog.c +++ tog/tog.c @@ -1265,7 +1265,7 @@ show_blame_view(const char *path, struct got_object_id struct tog_blame_cb_args blame_cb_args; struct tog_blame_thread_args blame_thread_args; struct got_object_id *selected_id; - struct got_commit_object *selected_commit = NULL; + struct got_commit_object *commit = NULL; struct got_object *obj1 = NULL, *obj2 = NULL; struct got_object_qid *pid; @@ -1399,16 +1399,21 @@ show_blame_view(const char *path, struct got_object_id err = got_object_open(&obj2, repo, selected_id); if (err) goto done; - err = got_object_commit_open(&selected_commit, - repo, obj2); + err = got_object_commit_open(&commit, repo, + obj2); if (err) goto done; - pid = - SIMPLEQ_FIRST(&selected_commit->parent_ids); + pid = SIMPLEQ_FIRST(&commit->parent_ids); err = got_object_open(&obj1, repo, pid->id); + got_object_commit_close(commit); + commit = NULL; if (err) goto done; err = show_diff_view(obj1, obj2, repo); + got_object_close(obj1); + got_object_close(obj2); + obj1 = NULL; + obj2 = NULL; show_panel(tog_blame_view.panel); if (err) goto done; @@ -1447,8 +1452,8 @@ done: got_object_close(obj1); if (obj2) got_object_close(obj2); - if (selected_commit) - got_object_commit_close(selected_commit); + if (commit) + got_object_commit_close(commit); if (f) fclose(f); for (i = 0; i < nlines; i++)