add slot validation
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index d507a53..f0439e3 100755
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -1500,6 +1500,8 @@
     if( status != PSA_SUCCESS )
         return( status );
     slot = &global_data.key_slots[key];
+    if( slot->type == PSA_KEY_TYPE_NONE )
+            return( PSA_ERROR_EMPTY_SLOT );
 
     cipher_info = mbedtls_cipher_info_from_psa( alg, key_type,
                                                 key_bits, &cipher_id );
@@ -1643,6 +1645,8 @@
     if( status != PSA_SUCCESS )
         return( status );
     slot = &global_data.key_slots[key];
+    if( slot->type == PSA_KEY_TYPE_NONE )
+            return( PSA_ERROR_EMPTY_SLOT );
 
     cipher_info = mbedtls_cipher_info_from_psa( alg, key_type,
                                                 key_bits, &cipher_id );