Signed-off-by: Rémy Oudompheng <remy@archlinux.org> --- This is a cleanup patch is preparation for some code moving. lib/libalpm/sync.c | 21 +++++++++------------ 1 files changed, 9 insertions(+), 12 deletions(-) diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index cb73c7e..b6c64af 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -844,10 +844,7 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data) /* check md5sum first */ if(test_md5sum(trans, filepath, md5sum) != 0) { - errors++; - *data = alpm_list_add(*data, strdup(filename)); - FREE(filepath); - continue; + goto integrity_check_fail; } /* check PGP signature next */ pmdb_t *sdb = alpm_pkg_get_db(spkg); @@ -865,10 +862,7 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data) int ret = _alpm_gpgme_checksig(filepath, pgpsig); if((check_sig == PM_PGP_VERIFY_ALWAYS && ret != 0) || (check_sig == PM_PGP_VERIFY_OPTIONAL && ret == 1)) { - errors++; - *data = alpm_list_add(*data, strdup(filename)); - FREE(filepath); - continue; + goto integrity_check_fail; } } /* load the package file and replace pkgcache entry with it in the target list */ @@ -877,15 +871,18 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data) pmpkg_t *pkgfile; if(alpm_pkg_load(filepath, 1, &pkgfile) != 0) { _alpm_pkg_free(pkgfile); - errors++; - *data = alpm_list_add(*data, strdup(filename)); - FREE(filepath); - continue; + goto integrity_check_fail; } FREE(filepath); pkgfile->reason = spkg->reason; /* copy over install reason */ i->data = pkgfile; _alpm_pkg_free_trans(spkg); /* spkg has been removed from the target list */ + continue; + +integrity_check_fail: + errors++; + *data = alpm_list_add(*data, strdup(filename)); + FREE(filepath); } PROGRESS(trans, PM_TRANS_PROGRESS_INTEGRITY_START, "", 100, -- 1.7.4.4