diff --git a/security/nss/lib/pk11wrap/pk11obj.c b/security/nss/lib/pk11wrap/pk11obj.c index d26351ad2..bec2aeb92 100644 --- a/security/nss/lib/pk11wrap/pk11obj.c +++ b/security/nss/lib/pk11wrap/pk11obj.c @@ -840,11 +840,11 @@ PK11_SignWithMechanism(SECKEYPrivateKey *key, CK_MECHANISM_TYPE mechanism, if (haslock) PK11_ExitSlotMonitor(slot); pk11_CloseSession(slot, session, owner); - sig->len = len; if (crv != CKR_OK) { PORT_SetError(PK11_MapError(crv)); return SECFailure; } + sig->len = len; return SECSuccess; } @@ -888,11 +888,11 @@ PK11_SignWithSymKey(PK11SymKey *symKey, CK_MECHANISM_TYPE mechanism, if (haslock) PK11_ExitSlotMonitor(slot); pk11_CloseSession(slot, session, owner); - sig->len = len; if (crv != CKR_OK) { PORT_SetError(PK11_MapError(crv)); return SECFailure; } + sig->len = len; return SECSuccess; } diff --git a/security/nss/lib/softoken/pkcs11c.c b/security/nss/lib/softoken/pkcs11c.c index 464bc43c3..8b3605e1e 100644 --- a/security/nss/lib/softoken/pkcs11c.c +++ b/security/nss/lib/softoken/pkcs11c.c @@ -3111,7 +3111,7 @@ NSC_SignFinal(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, { SFTKSession *session; SFTKSessionContext *context; - unsigned int outlen; + unsigned int outlen = 0; unsigned int maxoutlen = *pulSignatureLen; CK_RV crv;