diff options
author | Tomas Mraz <tmraz@fedoraproject.org> | 2020-05-21 13:16:57 +0200 |
---|---|---|
committer | Tomas Mraz <tmraz@fedoraproject.org> | 2020-05-22 14:50:35 +0200 |
commit | e512efe0894481679a5d3c57d10bf4ea97046c2a (patch) | |
tree | 2159841535dceb57890b8a1b4263637324bc9fd4 /crypto | |
parent | 2f4023e88962d3375ff30ad5011a310dacf0ad3f (diff) |
Prevent use after free of global_engine_lock
If buggy application calls engine functions after cleanup of engines
already happened the global_engine_lock will be used although
already freed.
See for example:
https://bugzilla.redhat.com/show_bug.cgi?id=1831086
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/11896)
(cherry picked from commit e12813d0d31f4f7be2ccc592d382ef3e94bdb842)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/engine/eng_lib.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/crypto/engine/eng_lib.c b/crypto/engine/eng_lib.c index b851ff6957..dd87ebaca7 100644 --- a/crypto/engine/eng_lib.c +++ b/crypto/engine/eng_lib.c @@ -171,6 +171,7 @@ void engine_cleanup_int(void) cleanup_stack = NULL; } CRYPTO_THREAD_lock_free(global_engine_lock); + global_engine_lock = NULL; } /* Now the "ex_data" support */ |