summaryrefslogtreecommitdiff
path: root/security/nss/lib/softoken/pkcs11c.c
diff options
context:
space:
mode:
authorwtc%netscape.com <devnull@localhost>2001-08-18 19:15:46 +0000
committerwtc%netscape.com <devnull@localhost>2001-08-18 19:15:46 +0000
commitb1d39f7e88f7ec660e8d97f5954628813e0afbb0 (patch)
treef105e3e46bf97b90f16a3289cf4ae4c88cdb1a89 /security/nss/lib/softoken/pkcs11c.c
parentd0c066d79d046b8e56dc72a6e273be1a5bc1155c (diff)
downloadnss-hg-b1d39f7e88f7ec660e8d97f5954628813e0afbb0.tar.gz
fix unitialized key_type variable. Add asserts to it doesn't happen again.
Diffstat (limited to 'security/nss/lib/softoken/pkcs11c.c')
-rw-r--r--security/nss/lib/softoken/pkcs11c.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/security/nss/lib/softoken/pkcs11c.c b/security/nss/lib/softoken/pkcs11c.c
index 2758613a9..46c554617 100644
--- a/security/nss/lib/softoken/pkcs11c.c
+++ b/security/nss/lib/softoken/pkcs11c.c
@@ -3068,7 +3068,7 @@ CK_RV NSC_GenerateKey(CK_SESSION_HANDLE hSession,
PK11Session *session;
PRBool checkWeak = PR_FALSE;
CK_ULONG key_length = 0;
- CK_KEY_TYPE key_type;
+ CK_KEY_TYPE key_type = -1;
CK_OBJECT_CLASS objclass = CKO_SECRET_KEY;
CK_RV crv = CKR_OK;
CK_BBOOL cktrue = CK_TRUE;
@@ -3144,6 +3144,7 @@ CK_RV NSC_GenerateKey(CK_SESSION_HANDLE hSession,
case CKM_NETSCAPE_PBE_MD5_HMAC_KEY_GEN:
case CKM_NETSCAPE_PBE_MD2_HMAC_KEY_GEN:
key_gen_type = pk11_pbe_hmac;
+ key_type = CKK_GENERIC_SECRET;
break;
case CKM_NETSCAPE_PBE_SHA1_TRIPLE_DES_CBC:
case CKM_NETSCAPE_PBE_SHA1_40_BIT_RC2_CBC:
@@ -3177,6 +3178,10 @@ CK_RV NSC_GenerateKey(CK_SESSION_HANDLE hSession,
if (crv != CKR_OK) { pk11_FreeObject(key); return crv; }
+ /* if there was no error,
+ * key_type *MUST* be set in the switch statement above */
+ PORT_Assert( key_type != -1 );
+
/*
* now to the actual key gen.
*/