evp_md_init_internal: Avoid reallocating algctx if digest unchanged
authorTomas Mraz <tomas@openssl.org>
Wed, 13 Apr 2022 14:26:18 +0000 (16:26 +0200)
committerTomas Mraz <tomas@openssl.org>
Mon, 2 May 2022 06:26:01 +0000 (08:26 +0200)
commitfe5c5cb85197aec7d68ab095b866ed22076850d0
tree60d218822200a872d27d460f7f34f47fac865866
parente3477d3e5ccd971da3d8a90a7d5096b47372d288
evp_md_init_internal: Avoid reallocating algctx if digest unchanged

Fixes #16947

Also refactor out algctx freeing into a separate function.

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18105)
crypto/evp/digest.c
crypto/evp/m_sigver.c
include/crypto/evp.h