Blob Blame History Raw
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