refs.c: allow passing NULL to ref_transaction_free
Allow ref_transaction_free(NULL) as a no-op. This makes ref_transaction_free easier to use and more similar to plain 'free'. In particular, it lets us rollback unconditionally as part of cleanup code after setting 'transaction = NULL' if a transaction has been committed or rolled back already. Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Ronnie Sahlberg <sahlberg@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Acked-by: Michael Haggerty <mhagger@alum.mit.edu>
Ronnie Sahlberg committed
Jun 20, 2014 at 07:42 UTC
1b07255c95cdf2f7dbe7989a734248f60799f506
1 file changed
+3
refs.c
+3
@@ -3338,6 +3338,9 @@ void ref_transaction_free(struct ref_transaction *transaction)
3338
{
3339
int i;
3340
3341
+ if (!transaction)
3342
+ return;
3343
+
3344
for (i = 0; i < transaction->nr; i++)
3345
free(transaction->updates[i]);
3346