]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Use OPENSSL_strdup() for strings freed by OPENSSL_free()
authorsashan <anedvedicky@gmail.com>
Wed, 26 Mar 2025 08:37:01 +0000 (09:37 +0100)
committerTomas Mraz <tomas@openssl.org>
Thu, 27 Mar 2025 11:03:55 +0000 (12:03 +0100)
Things can get messy when application decides to use it's own memory
allocation functions using CRYPTO_set_mem_functions(3ossl)

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/27163)

crypto/rand/rand_lib.c
test/conf_include_test.c

index 6b9ae7c06524ac460366df45c8e8cdbc3adfad37..9233322b5ff54b811ad9c7f0b2823af4b5100d67 100644 (file)
@@ -127,7 +127,7 @@ static int set_random_provider_name(RAND_GLOBAL *dgbl, const char *name)
         return 1;
 
     OPENSSL_free(dgbl->random_provider_name);
-    dgbl->random_provider_name = strdup(name);
+    dgbl->random_provider_name = OPENSSL_strdup(name);
     return dgbl->random_provider_name != NULL;
 }
 
index 2b16c6ebe49d44bd8c83d55c6d672acee162d4ef..851af5614bb17be01966fbfa638c9705c8e962ae 100644 (file)
@@ -59,7 +59,7 @@ static char *change_path(const char *file)
 
     ret = chdir(s);
     if (ret == 0)
-        new_config_name = strdup(last + DIRSEP_PRESERVE + 1);
+        new_config_name = OPENSSL_strdup(last + DIRSEP_PRESERVE + 1);
  err:
     OPENSSL_free(s);
     return new_config_name;