[Openvpn-devel,v2,1/3] Move code to free cd to a function CAPI_DATA_free()
Commit Message
From: Selva Nair <selva.nair@gmail.com>
- Avoids code-repetition especially so when support
for more key types are added.
Signed-off-by: Selva Nair <selva.nair@gmail.com>
---
v2: Same as the ACK-ed v1 but the extra newline removed.
src/openvpn/cryptoapi.c | 62 +++++++++++++++++++++----------------------------
1 file changed, 27 insertions(+), 35 deletions(-)
Comments
Acked-by: Gert Doering <gert@greenie.muc.de>
Your patch has been applied to the master branch.
(I took the ACK from Steffan for v1, and verified that v2 is really idential
except for the extra empty line - so line numbers differ, but code is the
same. Adding an extra ACK from me for staring-at-the-code - trivial
enough in this case)
commit 29a475c6ce0fa51b173121033cbd0f280948e06c
Author: Selva Nair
Date: Fri Jan 26 11:05:32 2018 -0500
Move code to free cd to a function CAPI_DATA_free()
Signed-off-by: Selva Nair <selva.nair@gmail.com>
Acked-by: Steffan Karger <steffan.karger@fox-it.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <1516982732-24145-1-git-send-email-selva.nair@gmail.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg16383.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
--
kind regards,
Gert Doering
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Acked-by: Gert Doering <gert@greenie.muc.de>
Your patch has been applied to the master branch.
(I took the ACK from Steffan for v1, and verified that v2 is really idential
except for the extra empty line - so line numbers differ, but code is the
same. Adding an extra ACK from me for staring-at-the-code - trivial
enough in this case)
commit 29a475c6ce0fa51b173121033cbd0f280948e06c
Author: Selva Nair
Date: Fri Jan 26 11:05:32 2018 -0500
Move code to free cd to a function CAPI_DATA_free()
Signed-off-by: Selva Nair <selva.nair@gmail.com>
Acked-by: Steffan Karger <steffan.karger@fox-it.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <1516982732-24145-1-git-send-email-selva.nair@gmail.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg16383.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
--
kind regards,
Gert Doering
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
@@ -108,6 +108,31 @@ typedef struct _CAPI_DATA {
BOOL free_crypt_prov;
} CAPI_DATA;
+static void
+CAPI_DATA_free(CAPI_DATA *cd)
+{
+ if (!cd)
+ {
+ return;
+ }
+ if (cd->free_crypt_prov && cd->crypt_prov)
+ {
+ if (cd->key_spec == CERT_NCRYPT_KEY_SPEC)
+ {
+ NCryptFreeObject(cd->crypt_prov);
+ }
+ else
+ {
+ CryptReleaseContext(cd->crypt_prov, 0);
+ }
+ }
+ if (cd->cert_context)
+ {
+ CertFreeCertificateContext(cd->cert_context);
+ }
+ free(cd);
+}
+
static char *
ms_error_text(DWORD ms_err)
{
@@ -363,22 +388,7 @@ finish(RSA *rsa)
{
return 0;
}
- if (cd->crypt_prov && cd->free_crypt_prov)
- {
- if (cd->key_spec == CERT_NCRYPT_KEY_SPEC)
- {
- NCryptFreeObject(cd->crypt_prov);
- }
- else
- {
- CryptReleaseContext(cd->crypt_prov, 0);
- }
- }
- if (cd->cert_context)
- {
- CertFreeCertificateContext(cd->cert_context);
- }
- free(cd);
+ CAPI_DATA_free(cd);
RSA_meth_free((RSA_METHOD*) rsa_meth);
return 1;
}
@@ -614,25 +624,7 @@ err:
{
free(my_rsa_method);
}
- if (cd)
- {
- if (cd->free_crypt_prov && cd->crypt_prov)
- {
- if (cd->key_spec == CERT_NCRYPT_KEY_SPEC)
- {
- NCryptFreeObject(cd->crypt_prov);
- }
- else
- {
- CryptReleaseContext(cd->crypt_prov, 0);
- }
- }
- if (cd->cert_context)
- {
- CertFreeCertificateContext(cd->cert_context);
- }
- free(cd);
- }
+ CAPI_DATA_free(cd);
}
return 0;
}