xbps-rindex: [sign] free pubkey data obj after externalizing index-meta.
Otherwise the externalization process might give unexpected results.
This commit is contained in:
parent
306fe4968e
commit
11e04685ef
@ -283,14 +283,14 @@ sign_repo(struct xbps_handle *xhp, const char *repodir,
|
|||||||
xbps_dictionary_set_uint16(meta, "public-key-size", pubkeysize);
|
xbps_dictionary_set_uint16(meta, "public-key-size", pubkeysize);
|
||||||
xbps_dictionary_set_cstring_nocopy(meta, "signature-by", signedby);
|
xbps_dictionary_set_cstring_nocopy(meta, "signature-by", signedby);
|
||||||
xbps_dictionary_set_cstring_nocopy(meta, "signature-type", "rsa");
|
xbps_dictionary_set_cstring_nocopy(meta, "signature-type", "rsa");
|
||||||
|
if (!repodata_flush(xhp, repodir, repo->idx, repo->idxfiles, meta)) {
|
||||||
|
fprintf(stderr, "failed to write repodata: %s\n", strerror(errno));
|
||||||
|
rv = -1;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
xbps_object_release(data);
|
xbps_object_release(data);
|
||||||
data = NULL;
|
data = NULL;
|
||||||
|
|
||||||
if (!repodata_flush(xhp, repodir, repo->idx, repo->idxfiles, meta)) {
|
|
||||||
fprintf(stderr, "failed to write repodata: %s\n", strerror(errno));
|
|
||||||
RSA_free(rsa);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
printf("Signed repository (%u package%s)\n",
|
printf("Signed repository (%u package%s)\n",
|
||||||
xbps_dictionary_count(repo->idx),
|
xbps_dictionary_count(repo->idx),
|
||||||
xbps_dictionary_count(repo->idx) == 1 ? "" : "s");
|
xbps_dictionary_count(repo->idx) == 1 ? "" : "s");
|
||||||
@ -298,6 +298,8 @@ sign_repo(struct xbps_handle *xhp, const char *repodir,
|
|||||||
out:
|
out:
|
||||||
index_unlock(il);
|
index_unlock(il);
|
||||||
|
|
||||||
|
if (data)
|
||||||
|
xbps_object_release(data);
|
||||||
if (rsa) {
|
if (rsa) {
|
||||||
RSA_free(rsa);
|
RSA_free(rsa);
|
||||||
rsa = NULL;
|
rsa = NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user