p_get_params() [test/p_test.c]: clear the OSSL_PARAM buffers for every test
authorRichard Levitte <levitte@openssl.org>
Tue, 30 Apr 2019 13:24:06 +0000 (15:24 +0200)
committerRichard Levitte <levitte@openssl.org>
Wed, 1 May 2019 11:19:18 +0000 (13:19 +0200)
Fixes #8796

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/8851)

test/p_test.c

index 93196f7..15213b6 100644 (file)
@@ -55,10 +55,10 @@ static int p_get_params(void *vprov, const OSSL_PARAM params[])
 
     for (; ok && p->key != NULL; p++) {
         if (strcmp(p->key, "greeting") == 0) {
-            static char *opensslv = NULL;
-            static char *provname = NULL;
-            static char *greeting = NULL;
-            static OSSL_PARAM counter_request[] = {
+            static char *opensslv;
+            static char *provname;
+            static char *greeting;
+            static const OSSL_PARAM counter_request[] = {
                 /* Known libcrypto provided parameters */
                 { "openssl-version", OSSL_PARAM_UTF8_PTR,
                   &opensslv, sizeof(&opensslv), NULL },
@@ -74,6 +74,8 @@ static int p_get_params(void *vprov, const OSSL_PARAM params[])
             char buf[256];
             size_t buf_l;
 
+            opensslv = provname = greeting = NULL;
+
             if (c_get_params(prov, counter_request)) {
                 if (greeting) {
                     strcpy(buf, greeting);