From 0e67ee55bd0f41ed8f62cc574c03ee27625be317 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Tue, 11 Jun 2019 17:43:26 +0100 Subject: Correctly report a download failiure for 404s Currently when caling alpm_trans_commit, if fetching a package restults in a 404 (or other non 400 response code), the function returns -1 but errno is never set. This patch sets errno to ALPM_ERR_RETRIEVE. Signed-off-by: Allan McRae --- lib/libalpm/dload.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 05813c40..e5696bb0 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -454,6 +454,7 @@ static int curl_download_internal(struct dload_payload *payload, if(payload->respcode >= 400) { payload->unlink_on_fail = 1; if(!payload->errors_ok) { + handle->pm_errno = ALPM_ERR_RETRIEVE; /* non-translated message is same as libcurl */ snprintf(error_buffer, sizeof(error_buffer), "The requested URL returned error: %ld", payload->respcode); -- cgit v1.2.3-24-g4f1b