summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-09-22 22:59:18 +0200
committerDan McGee <dan@archlinux.org>2011-09-22 23:01:11 +0200
commitc406949226fe5759473f13b5eb1fcf48c32d67ea (patch)
treea1759d86858dd672d8756d695952c347fdbf9b86
parent1e0ed133f471c35fe6979612a4cb57926223c9b9 (diff)
downloadpacman-c406949226fe5759473f13b5eb1fcf48c32d67ea.tar.gz
pacman-c406949226fe5759473f13b5eb1fcf48c32d67ea.tar.xz
Ensure database validity flags are set in invalid signature case
We returned the right error code but never set the flags accordingly. Also, now that we can bail early, ensure we set the error code. Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--lib/libalpm/be_sync.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c
index 5477eff4..4864616b 100644
--- a/lib/libalpm/be_sync.c
+++ b/lib/libalpm/be_sync.c
@@ -75,6 +75,7 @@ static int sync_db_validate(alpm_db_t *db)
return 0;
}
if(db->status & DB_STATUS_INVALID) {
+ db->handle->pm_errno = ALPM_ERR_DB_INVALID_SIG;
return -1;
}
@@ -117,6 +118,8 @@ static int sync_db_validate(alpm_db_t *db)
} while(retry);
if(ret) {
+ db->status &= ~DB_STATUS_VALID;
+ db->status |= DB_STATUS_INVALID;
db->handle->pm_errno = ALPM_ERR_DB_INVALID_SIG;
return 1;
}