summaryrefslogtreecommitdiff
path: root/lib/libalpm/be_sync.c
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-09-19 21:51:30 -0500
committerDan McGee <dan@archlinux.org>2011-09-20 10:23:11 -0500
commit994cb4da4f6bc8efbb6a649cb7d99d95bce5c37a (patch)
tree9cec25c9312ce01792d259141d786813bf7776da /lib/libalpm/be_sync.c
parenta27f993600a518ef6a15bd7fb29575b218b58a0a (diff)
downloadpacman-994cb4da4f6bc8efbb6a649cb7d99d95bce5c37a.tar.xz
Allow our PGP helper method to pass back the signature results
This will make its way up the call chain eventually to allow trusting and importing of keys as necessary. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/be_sync.c')
-rw-r--r--lib/libalpm/be_sync.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c
index 7eb2539b..ef0f1ef4 100644
--- a/lib/libalpm/be_sync.c
+++ b/lib/libalpm/be_sync.c
@@ -70,6 +70,7 @@ static int sync_db_validate(alpm_db_t *db)
{
alpm_siglevel_t level;
const char *dbpath;
+ alpm_siglist_t *siglist;
if(db->status & DB_STATUS_VALID || db->status & DB_STATUS_MISSING) {
return 0;
@@ -102,10 +103,14 @@ static int sync_db_validate(alpm_db_t *db)
if(level & ALPM_SIG_DATABASE) {
if(_alpm_check_pgp_helper(db->handle, dbpath, NULL,
level & ALPM_SIG_DATABASE_OPTIONAL, level & ALPM_SIG_DATABASE_MARGINAL_OK,
- level & ALPM_SIG_DATABASE_UNKNOWN_OK)) {
+ level & ALPM_SIG_DATABASE_UNKNOWN_OK, &siglist)) {
db->handle->pm_errno = ALPM_ERR_DB_INVALID_SIG;
+ alpm_siglist_cleanup(siglist);
+ free(siglist);
return 1;
}
+ alpm_siglist_cleanup(siglist);
+ free(siglist);
}
valid: