From fdeed33f514e0056e322a45d9a0a04ca4b9a2709 Mon Sep 17 00:00:00 2001
From: Jan Friesse <jfriesse@redhat.com>
Date: Tue, 1 Aug 2017 14:19:41 +0200
Subject: [PATCH] totemcrypto: Fix compiler warning
Signed-off-by: Jan Friesse <jfriesse@redhat.com>
---
exec/totemcrypto.c | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/exec/totemcrypto.c b/exec/totemcrypto.c
index 79c4312..64246c9 100644
--- a/exec/totemcrypto.c
+++ b/exec/totemcrypto.c
@@ -248,6 +248,7 @@ static PK11SymKey *import_symmetric_key(struct crypto_instance *instance, enum s
SECItem wrapped_key;
int wrapped_key_len;
unsigned char wrapped_key_data[MAX_WRAPPED_KEY_LEN];
+ int case_processed;
memset(&key_item, 0, sizeof(key_item));
slot = NULL;
@@ -258,17 +259,29 @@ static PK11SymKey *import_symmetric_key(struct crypto_instance *instance, enum s
key_item.type = siBuffer;
key_item.data = instance->private_key;
+ case_processed = 0;
switch (key_type) {
case SYM_KEY_TYPE_CRYPT:
key_item.len = cipher_key_len[instance->crypto_cipher_type];
cipher = cipher_to_nss[instance->crypto_cipher_type];
operation = CKA_ENCRYPT|CKA_DECRYPT;
+ case_processed = 1;
break;
case SYM_KEY_TYPE_HASH:
key_item.len = instance->private_key_len;
cipher = hash_to_nss[instance->crypto_hash_type];
operation = CKA_SIGN;
+ case_processed = 1;
break;
+ /*
+ * Default is not defined intentionally. Compiler shows warning when
+ * new key_type is added
+ */
+ }
+
+ if (!case_processed) {
+ log_printf(instance->log_level_error, "Unknown key_type");
+ goto exit_res_key;
}
slot = PK11_GetBestSlot(cipher, NULL);
--
1.7.1