summaryrefslogtreecommitdiffstats
path: root/crypto/err/err.c
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2021-02-15 16:59:43 +0000
committerMatt Caswell <matt@openssl.org>2021-02-24 12:13:38 +0000
commitde4a88a979193e1f28c65c1f902828dd91d10ba5 (patch)
tree3209c5536fc6c849eb83d61385746b15dc08f190 /crypto/err/err.c
parentb0001d0cf2539b9309712e3e04f407dcbb04352c (diff)
Duplicate the file and func error strings
Errors raised from a provider that is subsequently unloaded from memory may have references to strings representing the file and function that are no longer present because the provider is no longer in memory. This can cause crashes. To avoid this we duplicate the file and func strings. Fixes #13623 Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/14213)
Diffstat (limited to 'crypto/err/err.c')
-rw-r--r--crypto/err/err.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/err/err.c b/crypto/err/err.c
index fe91ca7b5d..e5f9866813 100644
--- a/crypto/err/err.c
+++ b/crypto/err/err.c
@@ -190,7 +190,7 @@ static void ERR_STATE_free(ERR_STATE *s)
if (s == NULL)
return;
for (i = 0; i < ERR_NUM_ERRORS; i++) {
- err_clear_data(s, i, 1);
+ err_clear(s, i, 1);
}
OPENSSL_free(s);
}