Navigation Menu

Skip to content

Commit

Permalink
Don't overwrite pointers to existing message digests if they've been
Browse files Browse the repository at this point in the history
precomputed.  Bugscape bug 54627.  r=wtc, jpierre.
  • Loading branch information
nelsonb%netscape.com committed Dec 19, 2003
1 parent 0d6152c commit 3d1bb8c
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
5 changes: 4 additions & 1 deletion security/nss/lib/smime/cmsdigest.c
Expand Up @@ -252,7 +252,10 @@ NSS_CMSDigestContext_FinishMultiple(NSSCMSDigestContext *cmsdigcx,

cleanup:
NSS_CMSDigestContext_Cancel(cmsdigcx);
if (rv == SECSuccess && digestsp) {
/* Don't change the caller's digests pointer if we have no digests.
** NSS_CMSSignedData_Encode_AfterData depends on this behavior.
*/
if (rv == SECSuccess && digestsp && digests) {
*digestsp = digests;
}
return rv;
Expand Down
6 changes: 5 additions & 1 deletion security/nss/lib/smime/cmssigdata.c
Expand Up @@ -213,8 +213,12 @@ NSS_CMSSignedData_Encode_BeforeData(NSSCMSSignedData *sigd)
return SECFailure;
}
/* set up the digests */
if (sigd->digests && sigd->digests[0]) {
sigd->contentInfo.digcx = NULL; /* don't attempt to make new ones. */
} else
if (sigd->digestAlgorithms != NULL) {
sigd->contentInfo.digcx = NSS_CMSDigestContext_StartMultiple(sigd->digestAlgorithms);
sigd->contentInfo.digcx =
NSS_CMSDigestContext_StartMultiple(sigd->digestAlgorithms);
if (sigd->contentInfo.digcx == NULL)
return SECFailure;
}
Expand Down

0 comments on commit 3d1bb8c

Please sign in to comment.