diff options
author | Pauli <ppzgs1@gmail.com> | 2021-02-04 14:40:19 +1000 |
---|---|---|
committer | Pauli <ppzgs1@gmail.com> | 2021-02-07 20:01:50 +1000 |
commit | 64954e2f34b8839ca7ad1e9576a6efaf3e49e17c (patch) | |
tree | 5c75995a9212076a6ec6aa1873ba655eb571fc23 /test/ectest.c | |
parent | 11ddbf84597d26c937ecb8f266424dea7f72cbdf (diff) | |
download | openssl-64954e2f34b8839ca7ad1e9576a6efaf3e49e17c.zip openssl-64954e2f34b8839ca7ad1e9576a6efaf3e49e17c.tar.gz openssl-64954e2f34b8839ca7ad1e9576a6efaf3e49e17c.tar.bz2 |
Fix race condition & allow operation cache to grow.
This fixes a race condition where the index to the cache location was found
under a read lock and a later write lock set the cache entry. The issue being
that two threads could get the same location index and then fight each other
over writing the cache entry. The most likely outcome is a memory leak,
however it would be possible to set up an invalid cache entry.
The operation cache was a fixed sized array, once full an assertion failed.
The other fix here is to convert this to a stack. The code is simplified and
it avoids a cache overflow condition.
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14062)
Diffstat (limited to 'test/ectest.c')
0 files changed, 0 insertions, 0 deletions