Browse Source

p_get_params() [test/p_test.c]: clear the OSSL_PARAM buffers for every test

Fixes #8796

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/8851)
Richard Levitte 5 years ago
parent
commit
1ccf49737c
1 changed files with 6 additions and 4 deletions
  1. 6 4
      test/p_test.c

+ 6 - 4
test/p_test.c

@@ -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);