From 232067b3d1399d97b5058440bd8282031053fa7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Tue, 5 Apr 2022 10:31:20 +0300 Subject: [PATCH] db: fix atfd for access repository index fixes #10834 --- src/database.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/database.c b/src/database.c index 6758e98..727b44f 100644 --- a/src/database.c +++ b/src/database.c @@ -2349,7 +2349,7 @@ int apk_db_add_repository(apk_database_t _db, apk_blob_t _repository) struct apk_repository *repo; struct apk_url_print urlp; apk_blob_t brepo, btag; - int repo_num, r, tag_id = 0; + int repo_num, r, tag_id = 0, atfd = AT_FDCWD; char buf[PATH_MAX], *url; brepo = _repository; @@ -2395,6 +2395,7 @@ int apk_db_add_repository(apk_database_t _db, apk_blob_t _repository) } else { if (db->autoupdate) apk_repository_update(db, repo); r = apk_repo_format_cache_index(APK_BLOB_BUF(buf), repo); + atfd = db->cache_fd; } } else { db->local_repos |= BIT(repo_num); @@ -2402,7 +2403,7 @@ int apk_db_add_repository(apk_database_t _db, apk_blob_t _repository) r = apk_repo_format_real_url(db->arch, repo, NULL, buf, sizeof(buf), &urlp); } if (r == 0) { - r = load_index(db, apk_istream_from_fd_url(db->cache_fd, buf, apk_db_url_since(db, 0)), repo_num); + r = load_index(db, apk_istream_from_fd_url(atfd, buf, apk_db_url_since(db, 0)), repo_num); } if (r != 0) {