summaryrefslogtreecommitdiff
path: root/lib/libalpm/be_sync.c
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-09-22 15:59:18 -0500
committerDan McGee <dan@archlinux.org>2011-09-22 16:01:11 -0500
commitc406949226fe5759473f13b5eb1fcf48c32d67ea (patch)
treea1759d86858dd672d8756d695952c347fdbf9b86 /lib/libalpm/be_sync.c
parent1e0ed133f471c35fe6979612a4cb57926223c9b9 (diff)
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>
Diffstat (limited to 'lib/libalpm/be_sync.c')
-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;
}