From da820437368aae2088e992e7ce8944253693aa16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Fri, 30 Nov 2012 15:26:45 +0100 Subject: [PATCH] graph: plug leak --- src/graph.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/graph.c b/src/graph.c index 28026d4b4..fd789d65e 100644 --- a/src/graph.c +++ b/src/graph.c @@ -22,9 +22,9 @@ static int ahead_behind(git_commit_list_node *one, git_commit_list_node *two, if (git_pqueue_init(&pq, 2, git_commit_list_time_cmp) < 0) return -1; if (git_pqueue_insert(&pq, one) < 0) - return -1; + goto on_error; if (git_pqueue_insert(&pq, two) < 0) - return -1; + goto on_error; while ((commit = git_pqueue_pop(&pq)) != NULL) { if (commit->flags & RESULT || @@ -43,7 +43,12 @@ static int ahead_behind(git_commit_list_node *one, git_commit_list_node *two, commit->flags |= RESULT; } + git_pqueue_free(&pq); return 0; + +on_error: + git_pqueue_free(&pq); + return -1; } int git_graph_ahead_behind(size_t *ahead, size_t *behind, git_repository *repo,