mirror of https://github.com/openssl/openssl.git
Implement the dupctx method for the chacha20 cipher, so that
EVP_PKEY_CTX_copy works
Its pretty straightforward, its basically just a memdup. Checking the
pointers that might need fixing up:
in PROV_CHACHA20_CTX all members are statically declared, so memduping
should be fine
in PROV_CHACHA20_CTX->base (PROV_CIPHER_CTX):
Non statically declared members:
*tlsmac needs to get memduped to avoid double free
conditions, but only if base.alloced is set
*hw pointer is always assigned to the chacha20_hw global
variable, so can be left alone
*libctx can be left alone as provctx is always NULL in
chacha20_newctx
*ks appears unused by chacha20, so can be ignored
Fixes #20978
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21878)
|
||
|---|---|---|
| .. | ||
| common | ||
| fips | ||
| implementations | ||
| baseprov.c | ||
| build.info | ||
| decoders.inc | ||
| defltprov.c | ||
| encoders.inc | ||
| fips-sources.checksums | ||
| fips.checksum | ||
| fips.module.sources | ||
| legacyprov.c | ||
| nullprov.c | ||
| prov_running.c | ||
| stores.inc | ||