From 70a0f18d52b1a4a8964cdbb64a6c04e2a9a5bd72 Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Thu, 2 Sep 2021 09:56:58 +0200 Subject: [PATCH] siv: deinit gnutls on unsupported SIV --- siv_gnutls.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/siv_gnutls.c b/siv_gnutls.c index 77942ec..437f715 100644 --- a/siv_gnutls.c +++ b/siv_gnutls.c @@ -102,8 +102,11 @@ SIV_CreateInstance(SIV_Algorithm algorithm) init_gnutls(); /* Check if the cipher is actually supported */ - if (gnutls_cipher_get_tag_size(calgo) == 0) + if (gnutls_cipher_get_tag_size(calgo) == 0) { + if (instance_counter == 0) + deinit_gnutls(); return NULL; + } instance = MallocNew(struct SIV_Instance_Record); instance->algorithm = calgo;