xbps: fix a double free while downloading binpkgs (reported by Hanspolo).

This commit is contained in:
Juan RP 2014-01-28 20:59:28 +01:00
parent b1dae80cd2
commit f004e9999a
2 changed files with 37 additions and 1 deletions

View file

@ -0,0 +1,35 @@
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 8c0f8db..8030863 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);
--
1.8.5.3

View file

@ -1,7 +1,8 @@
# Template file for 'xbps'
pkgname=xbps
version=0.30
revision=1
revision=2
patch_args="-Np1"
bootstrap=yes
conf_files="/etc/xbps/xbps.conf"
replaces="xbps>=0"