|
 |
657fb1 |
From 83d623cd684ae424cf0c804d7a141981f283f5c4 Mon Sep 17 00:00:00 2001
|
|
 |
657fb1 |
From: Panu Matilainen <pmatilai@redhat.com>
|
|
 |
657fb1 |
Date: Tue, 10 Oct 2017 14:43:58 +0300
|
|
 |
657fb1 |
Subject: [PATCH 07/33] Assume failure in rpmSignFiles()
|
|
 |
657fb1 |
|
|
 |
657fb1 |
Doesn't make it any shorter yet, but makes more sense in the next steps.
|
|
 |
657fb1 |
Just refactoring.
|
|
 |
657fb1 |
---
|
|
 |
657fb1 |
sign/rpmsignfiles.c | 16 ++++++++--------
|
|
 |
657fb1 |
1 file changed, 8 insertions(+), 8 deletions(-)
|
|
 |
657fb1 |
|
|
 |
657fb1 |
diff --git a/sign/rpmsignfiles.c b/sign/rpmsignfiles.c
|
|
 |
657fb1 |
index 2dcc50400..c1d227a07 100644
|
|
 |
657fb1 |
--- a/sign/rpmsignfiles.c
|
|
 |
657fb1 |
+++ b/sign/rpmsignfiles.c
|
|
 |
657fb1 |
@@ -88,23 +88,24 @@ rpmRC rpmSignFiles(Header sigh, Header h, const char *key, char *keypass)
|
|
 |
657fb1 |
uint32_t siglen;
|
|
 |
657fb1 |
const char *algoname;
|
|
 |
657fb1 |
const char *digest;
|
|
 |
657fb1 |
- char *signature;
|
|
 |
657fb1 |
- rpmRC rc = RPMRC_OK;
|
|
 |
657fb1 |
+ char *signature = NULL;
|
|
 |
657fb1 |
+ rpmRC rc = RPMRC_FAIL;
|
|
 |
657fb1 |
|
|
 |
657fb1 |
+ rpmtdReset(&digests);
|
|
 |
657fb1 |
algo = headerGetNumber(h, RPMTAG_FILEDIGESTALGO);
|
|
 |
657fb1 |
if (!algo) {
|
|
 |
657fb1 |
/* use default algorithm */
|
|
 |
657fb1 |
algo = PGPHASHALGO_MD5;
|
|
 |
657fb1 |
} else if (algo < 0 || algo >= ARRAY_SIZE(hash_algo_name)) {
|
|
 |
657fb1 |
rpmlog(RPMLOG_ERR, _("File digest algorithm id is invalid"));
|
|
 |
657fb1 |
- return RPMRC_FAIL;
|
|
 |
657fb1 |
+ goto exit;
|
|
 |
657fb1 |
}
|
|
 |
657fb1 |
|
|
 |
657fb1 |
diglen = rpmDigestLength(algo);
|
|
 |
657fb1 |
algoname = hash_algo_name[algo];
|
|
 |
657fb1 |
if (!algoname) {
|
|
 |
657fb1 |
rpmlog(RPMLOG_ERR, _("hash_algo_name failed\n"));
|
|
 |
657fb1 |
- return RPMRC_FAIL;
|
|
 |
657fb1 |
+ goto exit;
|
|
 |
657fb1 |
}
|
|
 |
657fb1 |
|
|
 |
657fb1 |
headerDel(sigh, RPMTAG_FILESIGNATURELENGTH);
|
|
 |
657fb1 |
@@ -129,20 +130,19 @@ rpmRC rpmSignFiles(Header sigh, Header h, const char *key, char *keypass)
|
|
 |
657fb1 |
signature = signFile(algoname, digest, diglen, key, keypass);
|
|
 |
657fb1 |
if (!signature) {
|
|
 |
657fb1 |
rpmlog(RPMLOG_ERR, _("signFile failed\n"));
|
|
 |
657fb1 |
- rc = RPMRC_FAIL;
|
|
 |
657fb1 |
goto exit;
|
|
 |
657fb1 |
}
|
|
 |
657fb1 |
td.data = &signature;
|
|
 |
657fb1 |
if (!headerPut(sigh, &td, HEADERPUT_APPEND)) {
|
|
 |
657fb1 |
- free(signature);
|
|
 |
657fb1 |
rpmlog(RPMLOG_ERR, _("headerPutString failed\n"));
|
|
 |
657fb1 |
- rc = RPMRC_FAIL;
|
|
 |
657fb1 |
goto exit;
|
|
 |
657fb1 |
}
|
|
 |
657fb1 |
- free(signature);
|
|
 |
657fb1 |
+ signature = _free(signature);
|
|
 |
657fb1 |
}
|
|
 |
657fb1 |
+ rc = RPMRC_OK;
|
|
 |
657fb1 |
|
|
 |
657fb1 |
exit:
|
|
 |
657fb1 |
+ free(signature);
|
|
 |
657fb1 |
rpmtdFreeData(&digests);
|
|
 |
657fb1 |
return rc;
|
|
 |
657fb1 |
}
|
|
 |
657fb1 |
--
|
|
 |
657fb1 |
2.13.5
|
|
 |
657fb1 |
|