xbps_repo_open: fix memleak in error paths.

This commit is contained in:
Juan RP 2020-02-10 09:07:00 +01:00
parent 02c9cb11c4
commit 835834ff73
No known key found for this signature in database
GPG Key ID: AF19F6CB482F9368

View File

@ -156,6 +156,7 @@ repo_open_local(struct xbps_repo *repo, const char *repofile)
xbps_dbg_printf(repo->xhp,
"[repo] `%s' failed to open repodata archive %s\n",
repofile, strerror(rv));
xbps_repo_close(repo);
return false;
}
if ((repo->idx = repo_get_dict(repo)) == NULL) {
@ -163,6 +164,7 @@ repo_open_local(struct xbps_repo *repo, const char *repofile)
" index on archive, removing file.\n", repofile);
/* broken archive, remove it */
(void)unlink(repofile);
xbps_repo_close(repo);
return false;
}
xbps_dictionary_make_immutable(repo->idx);