diff mbox series

[v5,13/16] decrypt_keys: make ivt dynamically allocated

Message ID 20250904115704.58413-14-Michael.Glembotzki@iris-sensing.com
State Changes Requested
Delegated to: Stefano Babic
Headers show
Series Add support for asymmetric decryption | expand

Commit Message

Michael Glembotzki Sept. 4, 2025, 11:50 a.m. UTC
Use NULL to detect unset iv instead of relying on a zero buffer.

Signed-off-by: Michael Glembotzki <Michael.Glembotzki@iris-sensing.com>
---
 core/decrypt_keys.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/core/decrypt_keys.c b/core/decrypt_keys.c
index 969a3cdc..25beb08a 100644
--- a/core/decrypt_keys.c
+++ b/core/decrypt_keys.c
@@ -25,7 +25,7 @@ 
 struct decryption_key {
 	char *key;
 	char keylen;
-	unsigned char ivt[AES_BLK_SIZE];
+	unsigned char *ivt;
 };
 
 static struct decryption_key *decrypt_keys = NULL;
@@ -72,7 +72,14 @@  int set_aes_key(const char *key, const char *ivt)
 		return -EINVAL;
 	}
 
-	ret = ascii_to_bin(decrypt_keys->ivt, sizeof(decrypt_keys->ivt), ivt);
+	if (decrypt_keys->ivt)
+		free(decrypt_keys->ivt);
+
+	decrypt_keys->ivt = calloc(1, AES_BLK_SIZE);
+	if (!decrypt_keys->ivt)
+		return -ENOMEM;
+
+	ret = ascii_to_bin(decrypt_keys->ivt, AES_BLK_SIZE, ivt);
 	keylen = strlen(key);
 
 	if (!strcmp("pkcs11", key)) {