Testing the EVP_PKEY_CTX_new_from_name without preliminary init
authorDmitry Belyavskiy <beldmit@gmail.com>
Fri, 22 Apr 2022 17:26:08 +0000 (19:26 +0200)
committerMatt Caswell <matt@openssl.org>
Tue, 26 Apr 2022 07:41:12 +0000 (08:41 +0100)
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18175)

test/build.info
test/evp_pkey_ctx_new_from_name.c [new file with mode: 0644]
test/recipes/02-test_localetest.t

index 14a84f00a258aa6815bbb179a3b681deb7e23cd8..ee059973d31a9dd7692f4c224b00a3b0b7d15830 100644 (file)
@@ -37,7 +37,7 @@ IF[{- !$disabled{tests} -}]
           sanitytest rsa_complex exdatatest bntest \
           ecstresstest gmdifftest pbelutest \
           destest mdc2test sha_test \
-          exptest pbetest localetest \
+          exptest pbetest localetest evp_pkey_ctx_new_from_name\
           evp_pkey_provided_test evp_test evp_extra_test evp_extra_test2 \
           evp_fetch_prov_test evp_libctx_test ossl_store_test \
           v3nametest v3ext \
@@ -139,6 +139,10 @@ IF[{- !$disabled{tests} -}]
   INCLUDE[localetest]=../include ../apps/include
   DEPEND[localetest]=../libcrypto libtestutil.a
 
+  SOURCE[evp_pkey_ctx_new_from_name]=evp_pkey_ctx_new_from_name.c
+  INCLUDE[evp_pkey_ctx_new_from_name]=../include ../apps/include
+  DEPEND[evp_pkey_ctx_new_from_name]=../libcrypto
+
   SOURCE[pbetest]=pbetest.c
   INCLUDE[pbetest]=../include ../apps/include
   DEPEND[pbetest]=../libcrypto libtestutil.a
diff --git a/test/evp_pkey_ctx_new_from_name.c b/test/evp_pkey_ctx_new_from_name.c
new file mode 100644 (file)
index 0000000..24063ea
--- /dev/null
@@ -0,0 +1,14 @@
+#include <stdio.h>
+#include <openssl/ec.h>
+#include <openssl/evp.h>
+#include <openssl/err.h>
+
+int main(int argc, char *argv[])
+{
+    EVP_PKEY_CTX *pctx = NULL;
+
+    pctx = EVP_PKEY_CTX_new_from_name(NULL, "NO_SUCH_ALGORITHM", NULL);
+    EVP_PKEY_CTX_free(pctx);
+
+    return 0;
+}
index 1bccd57d4c6316a2f0dbb89188683997f785ada9..77fba7d819ab40d60c52caea904659c2248c3618 100644 (file)
@@ -15,7 +15,9 @@ setup("locale tests");
 plan skip_all => "Locale tests not available on Windows or VMS"
     if $^O =~ /^(VMS|MSWin32)$/;
 
-plan tests => 2;
+plan tests => 3;
+
+ok(run(test(["evp_pkey_ctx_new_from_name"])), "running evp_pkey_ctx_new_from_name without explicit context init");
 
 $ENV{LANG} = "C";
 ok(run(test(["localetest"])), "running localetest");