[openssl] master update
Dr. Paul Dale
pauli at openssl.org
Tue Jul 27 23:37:41 UTC 2021
The branch master has been updated
via 03c2f21b980524dc05a0426146f845ec1e969c2e (commit)
via bb98a1123b3d7a8464f2c1f61ffd41f826c7c423 (commit)
from c6fcd88fa030da8322cf27aff95376512f41faff (commit)
- Log -----------------------------------------------------------------
commit 03c2f21b980524dc05a0426146f845ec1e969c2e
Author: Matt Caswell <matt at openssl.org>
Date: Tue Jul 27 10:32:49 2021 +0100
Add a test case for EVP_MD_meth_dup() and EVP_CIPHER_meth_dup()
Check that EVP_MD_meth_free() and EVP_CIPHER_meth_free() does actually
free the data.
Reviewed-by: Dmitry Belyavskiy <beldmit at gmail.com>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16159)
commit bb98a1123b3d7a8464f2c1f61ffd41f826c7c423
Author: Matt Caswell <matt at openssl.org>
Date: Mon Jul 26 15:53:25 2021 +0100
Fix EVP_MD_meth_dup and EVP_CIPHER_meth_dup
Make sure the origin is set correctly when duping an EVP_MD or EVP_CIPHER.
Fixes #16157
Reviewed-by: Dmitry Belyavskiy <beldmit at gmail.com>
Reviewed-by: Paul Dale <pauli at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16159)
-----------------------------------------------------------------------
Summary of changes:
crypto/evp/cmeth_lib.c | 1 +
crypto/evp/evp_lib.c | 1 +
test/evp_extra_test.c | 21 ++++++++++++++++++++-
3 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/crypto/evp/cmeth_lib.c b/crypto/evp/cmeth_lib.c
index 9b93550307..a806ec5f9e 100644
--- a/crypto/evp/cmeth_lib.c
+++ b/crypto/evp/cmeth_lib.c
@@ -50,6 +50,7 @@ EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher)
memcpy(to, cipher, sizeof(*to));
to->lock = lock;
+ to->origin = EVP_ORIG_METH;
}
return to;
}
diff --git a/crypto/evp/evp_lib.c b/crypto/evp/evp_lib.c
index f78df52ab1..64d7fb046d 100644
--- a/crypto/evp/evp_lib.c
+++ b/crypto/evp/evp_lib.c
@@ -823,6 +823,7 @@ EVP_MD *EVP_MD_meth_dup(const EVP_MD *md)
memcpy(to, md, sizeof(*to));
to->lock = lock;
+ to->origin = EVP_ORIG_METH;
}
return to;
}
diff --git a/test/evp_extra_test.c b/test/evp_extra_test.c
index 7494c1f21b..e03e2a252e 100644
--- a/test/evp_extra_test.c
+++ b/test/evp_extra_test.c
@@ -3690,7 +3690,25 @@ static int test_custom_pmeth(int idx)
custom_pmeth = NULL;
return testresult;
}
-#endif
+
+static int test_evp_md_cipher_meth(void)
+{
+ EVP_MD *md = EVP_MD_meth_dup(EVP_sha256());
+ EVP_CIPHER *ciph = EVP_CIPHER_meth_dup(EVP_aes_128_cbc());
+ int testresult = 0;
+
+ if (!TEST_ptr(md) || !TEST_ptr(ciph))
+ goto err;
+
+ testresult = 1;
+
+ err:
+ EVP_MD_meth_free(md);
+ EVP_CIPHER_meth_free(ciph);
+
+ return testresult;
+}
+#endif /* OPENSSL_NO_DEPRECATED_3_0 */
typedef enum OPTION_choice {
OPT_ERR = -1,
@@ -3814,6 +3832,7 @@ int setup_tests(void)
#ifndef OPENSSL_NO_DEPRECATED_3_0
ADD_ALL_TESTS(test_custom_pmeth, 12);
+ ADD_TEST(test_evp_md_cipher_meth);
#endif
return 1;
More information about the openssl-commits
mailing list