[pacman-dev] [PATCH] Correctly report a download failiure for 404s

morganamilo morganamilo at gmail.com
Tue Jun 11 16:43:26 UTC 2019


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.

Thish patch sets errno to ALPM_ERR_RETRIEVE.

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);
-- 
2.21.0


More information about the pacman-dev mailing list