[pacman-dev] [PATCH] Reset dload_interrupted early in curl_download_internal()
Lukas Fleischer
archlinux at cryptocrack.de
Wed Aug 17 10:54:56 EDT 2011
Avoid invoking unlink() with a NULL path if the URL isn't to a file and
we fail to create a temporary file.
Signed-off-by: Lukas Fleischer <archlinux at cryptocrack.de>
---
lib/libalpm/dload.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
index 5cbb6b4..050e719 100644
--- a/lib/libalpm/dload.c
+++ b/lib/libalpm/dload.c
@@ -195,6 +195,9 @@ static int curl_download_internal(struct dload_payload *payload,
/* shortcut to our handle within the payload */
alpm_handle_t *handle = payload->handle;
+ /* reset dload_interrupted early to avoid erroneous unlink() on cleanup */
+ dload_interrupted = 0;
+
if(!payload->filename) {
payload->filename = get_filename(payload->fileurl);
}
@@ -289,7 +292,6 @@ static int curl_download_internal(struct dload_payload *payload,
sigaction(SIGPIPE, NULL, &sig_pipe[OLD]);
sigaction(SIGPIPE, &sig_pipe[NEW], NULL);
- dload_interrupted = 0;
sig_int[NEW].sa_handler = &inthandler;
sigemptyset(&sig_int[NEW].sa_mask);
sig_int[NEW].sa_flags = 0;
--
1.7.6
More information about the pacman-dev
mailing list