Blob Blame History Raw
diff -up ./lib/softoken/kbkdf.c.coverity ./lib/softoken/kbkdf.c
--- ./lib/softoken/kbkdf.c.coverity	2019-12-03 15:33:43.047732312 -0800
+++ ./lib/softoken/kbkdf.c	2019-12-03 15:39:40.982578357 -0800
@@ -534,6 +534,10 @@ CK_RV kbkdf_CreateKey(CK_SESSION_HANDLE
     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) {
@@ -589,7 +593,9 @@ done:
     sftk_FreeObject(key);
 
     /* Doesn't do anything. */
-    sftk_FreeSession(session);
+    if (session) {
+        sftk_FreeSession(session);
+    }
 
     return ret;
 }
diff -up ./lib/softoken/sftkhmac.c.coverity ./lib/softoken/sftkhmac.c
--- ./lib/softoken/sftkhmac.c.coverity	2019-12-03 15:40:06.108848341 -0800
+++ ./lib/softoken/sftkhmac.c	2019-12-03 15:41:04.919480267 -0800
@@ -232,7 +232,9 @@ sftk_MAC_Init(sftk_MACCtx *ctx, CK_MECHA
                            keyval->attrib.ulValueLen, isFIPS);
 
 done:
-    sftk_FreeAttribute(keyval);
+    if (keyval) {
+        sftk_FreeAttribute(keyval);
+    }
     return ret;
 }