e7e7b5
diff -up ./lib/softoken/kbkdf.c.coverity ./lib/softoken/kbkdf.c
e7e7b5
--- ./lib/softoken/kbkdf.c.coverity	2019-12-03 15:33:43.047732312 -0800
e7e7b5
+++ ./lib/softoken/kbkdf.c	2019-12-03 15:39:40.982578357 -0800
e7e7b5
@@ -534,6 +534,10 @@ CK_RV kbkdf_CreateKey(CK_SESSION_HANDLE
e7e7b5
     PR_ASSERT(derived_key != NULL);
e7e7b5
     PR_ASSERT(derived_key->phKey != NULL);
e7e7b5
 
e7e7b5
+    if (slot == NULL) {
e7e7b5
+        return CKR_SESSION_HANDLE_INVALID;
e7e7b5
+    }
e7e7b5
+
e7e7b5
     /* Create the new key object for this additional derived key. */
e7e7b5
     key = sftk_NewObject(slot);
e7e7b5
     if (key == NULL) {
e7e7b5
@@ -589,7 +593,9 @@ done:
e7e7b5
     sftk_FreeObject(key);
e7e7b5
 
e7e7b5
     /* Doesn't do anything. */
e7e7b5
-    sftk_FreeSession(session);
e7e7b5
+    if (session) {
e7e7b5
+        sftk_FreeSession(session);
e7e7b5
+    }
e7e7b5
 
e7e7b5
     return ret;
e7e7b5
 }
e7e7b5
diff -up ./lib/softoken/sftkhmac.c.coverity ./lib/softoken/sftkhmac.c
e7e7b5
--- ./lib/softoken/sftkhmac.c.coverity	2019-12-03 15:40:06.108848341 -0800
e7e7b5
+++ ./lib/softoken/sftkhmac.c	2019-12-03 15:41:04.919480267 -0800
e7e7b5
@@ -232,7 +232,9 @@ sftk_MAC_Init(sftk_MACCtx *ctx, CK_MECHA
e7e7b5
                            keyval->attrib.ulValueLen, isFIPS);
e7e7b5
 
e7e7b5
 done:
e7e7b5
-    sftk_FreeAttribute(keyval);
e7e7b5
+    if (keyval) {
e7e7b5
+        sftk_FreeAttribute(keyval);
e7e7b5
+    }
e7e7b5
     return ret;
e7e7b5
 }
e7e7b5