From fb5fb91fa3847ebecd67940bad30f045f5d02dc5 Mon Sep 17 00:00:00 2001
From: Juan RP <xtraeme@gmail.com>
Date: Tue, 28 Jan 2014 20:51:57 +0100
Subject: [PATCH] lib/transaction_commit.c: fix a double free (reported by
 Hanspolo).

---
 lib/transaction_commit.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/transaction_commit.c b/lib/transaction_commit.c
index 8c0f8dbe..80308639 100644
--- a/lib/transaction_commit.c
+++ b/lib/transaction_commit.c
@@ -166,6 +166,7 @@ download_binpkgs(struct xbps_handle *xhp, xbps_object_iterator_t iter)
 		 */
 		sigfile = xbps_xasprintf("%s.sig", file);
 		free(file);
+		file = NULL;
 		if (access(sigfile, R_OK) == -1) {
 			xbps_set_cb_state(xhp, XBPS_STATE_DOWNLOAD, 0, pkgver,
 			    "Downloading `%s' signature (from `%s')...", pkgver, repoloc);
@@ -182,7 +183,8 @@ download_binpkgs(struct xbps_handle *xhp, xbps_object_iterator_t iter)
 			}
 		}
 		free(sigfile);
-		free(file);
+		if (file != NULL)
+			free(file);
 	}
 	xbps_object_iterator_reset(iter);