diff options
author | tb <> | 2024-03-02 09:55:30 +0000 |
---|---|---|
committer | tb <> | 2024-03-02 09:55:30 +0000 |
commit | 9154e84667bc426874bac49d55743f07fd005bc2 (patch) | |
tree | 1a29aa5a7674f289db524ae2d0ca6b1ffb7043b3 /src/lib/libcrypto/evp/pmeth_lib.c | |
parent | d904a8f9d2ba21b2cd6d4e74ec8cd68927c5e6f9 (diff) | |
download | openbsd-9154e84667bc426874bac49d55743f07fd005bc2.tar.gz openbsd-9154e84667bc426874bac49d55743f07fd005bc2.tar.bz2 openbsd-9154e84667bc426874bac49d55743f07fd005bc2.zip |
Fix signature and semantics of EVP_{CIPHER,MD}_CTX_init()
When the EVP_CIPHER_CTX and the EVP_MD_CTX were still expected to live
on the stack, these initialization APIs were wrappers around memset.
In OpenSSL 1.1, somebody removed them and carelessly made _init() an
alias of _reset() aka _cleanup(). As a consequence, both signature and
semantics changed.
Unsurprisingly, there is now code out there that actually uses the new
semantics, which causes leaks on LibreSSL and older OpenSSL. This aligns
our _init() with OpenSSL 1.1 semantics.
ok jsing
Diffstat (limited to 'src/lib/libcrypto/evp/pmeth_lib.c')
0 files changed, 0 insertions, 0 deletions