From: Michael Tremer Date: Mon, 19 Apr 2021 14:12:36 +0000 (+0000) Subject: repo: Do not bail when no mirrorlist is set X-Git-Tag: 0.9.28~1285^2~335 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6d08cfeff1a6a78a60456eb4baf5f5eb2d6186eb;p=pakfire.git repo: Do not bail when no mirrorlist is set Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/downloader.c b/src/libpakfire/downloader.c index 01e1493b9..5eb726090 100644 --- a/src/libpakfire/downloader.c +++ b/src/libpakfire/downloader.c @@ -815,6 +815,11 @@ ERROR: } int pakfire_mirrorlist_read(struct pakfire_mirrorlist* ml, const char* path) { + if (!path || !*path) { + errno = EINVAL; + return 1; + } + DEBUG(ml->pakfire, "Reading mirrorlist from %s\n", path); struct json_object* json = pakfire_json_parse_from_file(ml->pakfire, path); diff --git a/src/libpakfire/repo.c b/src/libpakfire/repo.c index 27bbb2411..cef176a7f 100644 --- a/src/libpakfire/repo.c +++ b/src/libpakfire/repo.c @@ -162,6 +162,10 @@ static struct pakfire_downloader* pakfire_repo_downloader(PakfireRepo repo) { struct pakfire_mirrorlist* pakfire_repo_get_mirrorlist(PakfireRepo repo) { if (!repo->mirrorlist) { + // No cache path set + if (!*repo->appdata->mirrorlist) + return NULL; + int r = pakfire_mirrorlist_create(&repo->mirrorlist, repo->pakfire); if (r) { ERROR(repo->pakfire, "Could not create mirrorlist: %s\n", strerror(errno)); @@ -194,8 +198,6 @@ static int pakfire_repo_retrieve(PakfireRepo repo, const char* url, const char* // Fetch mirrorlist mirrorlist = pakfire_repo_get_mirrorlist(repo); - if (!mirrorlist) - goto ERROR; // Retrieve the database file r = pakfire_downloader_retrieve(downloader, mirrorlist, url, path);