summaryrefslogtreecommitdiffstats
path: root/lib/libalpm/be_sync.c
diff options
context:
space:
mode:
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: