summaryrefslogtreecommitdiff
path: root/lib/softoken/kbkdf.c
diff options
context:
space:
mode:
authorRobert Relyea <rrelyea@redhat.com>2021-07-13 10:25:24 -0700
committerRobert Relyea <rrelyea@redhat.com>2021-07-13 10:25:24 -0700
commit892595b076b0447764c1d828c484e046aba452e4 (patch)
tree6a025c17a480341eefa5c887b5c662e4494aec8e /lib/softoken/kbkdf.c
parent1c126b14820154bb8b262263f8c3e05507b6d19f (diff)
downloadnss-hg-892595b076b0447764c1d828c484e046aba452e4.tar.gz
Bug 1720225 Coverity/cpp scanner errors found in nss 3.67
A number of coverity/scanner issues were found in the kdf code which was added in nss 3.44 and the fixes never upstreamed, as well as coverity/scanner errors in nss 3.66. Not all errors were fixed, those errors which were determined to be false positives were just recorded. No attempt has been made to fix coverity/scanner errors in gtests. Differential Revision: https://phabricator.services.mozilla.com/D119829
Diffstat (limited to 'lib/softoken/kbkdf.c')
-rw-r--r--lib/softoken/kbkdf.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/softoken/kbkdf.c b/lib/softoken/kbkdf.c
index b4544c432..57cce7017 100644
--- a/lib/softoken/kbkdf.c
+++ b/lib/softoken/kbkdf.c
@@ -613,6 +613,10 @@ kbkdf_CreateKey(CK_MECHANISM_TYPE kdf_mech, CK_SESSION_HANDLE hSession, CK_DERIV
PR_ASSERT(derived_key != NULL);
PR_ASSERT(derived_key->phKey != NULL);
+ if (slot == NULL) {
+ return CKR_SESSION_HANDLE_INVALID;
+ }
+
/* Create the new key object for this additional derived key. */
key = sftk_NewObject(slot);
if (key == NULL) {
@@ -678,7 +682,9 @@ done:
sftk_FreeObject(key);
/* Doesn't do anything. */
- sftk_FreeSession(session);
+ if (session) {
+ sftk_FreeSession(session);
+ }
return ret;
}