From: Ronnie Sahlberg Date: Thu, 15 May 2014 23:15:17 GMT Subject: [PATCH v9 20/44] refs.c: free the transaction before returning when number of updates is 0 Message-ID: <1400195741-22996-21-git-send-email-sahlberg@google.com> In-Reply-To: <1400195741-22996-1-git-send-email-sahlberg@google.com> We have to free the transaction before returning in the early check for 'return early if number of updates == 0' or else the following code would create a memory leak with the transaction never being freed : t = ref_transaction_begin() ref_transaction_commit(t) Signed-off-by: Ronnie Sahlberg --- refs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/refs.c b/refs.c index 5e82695..b4c7d04 100644 --- a/refs.c +++ b/refs.c @@ -3502,8 +3502,10 @@ int ref_transaction_commit(struct ref_transaction *transaction, int n = transaction->nr; struct ref_update **updates = transaction->updates; - if (!n) + if (!n) { + ref_transaction_free(transaction); return 0; + } /* Allocate work space */ delnames = xmalloc(sizeof(*delnames) * n); -- 2.0.0.rc3.477.gffe78a2