diff options
Diffstat (limited to 'sign/rpmsignfiles.c')
-rw-r--r-- | sign/rpmsignfiles.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sign/rpmsignfiles.c b/sign/rpmsignfiles.c index b143c5b9b..372ba634c 100644 --- a/sign/rpmsignfiles.c +++ b/sign/rpmsignfiles.c @@ -98,8 +98,9 @@ rpmRC rpmSignFiles(Header sigh, Header h, const char *key, char *keypass) td.count = 1; while (rpmfiNext(fi) >= 0) { + uint32_t slen = 0; digest = rpmfiFDigest(fi, NULL, NULL); - signature = signFile(algoname, digest, diglen, key, keypass, &siglen); + signature = signFile(algoname, digest, diglen, key, keypass, &slen); if (!signature) { rpmlog(RPMLOG_ERR, _("signFile failed\n")); goto exit; @@ -110,6 +111,8 @@ rpmRC rpmSignFiles(Header sigh, Header h, const char *key, char *keypass) goto exit; } signature = _free(signature); + if (slen > siglen) + siglen = slen; } if (siglen > 0) { |