Fixup: Don't assume that alt SHA256 impln's have trivial init/free

This commit is contained in:
Hanno Becker 2019-09-06 12:01:23 +01:00
parent 18c8936a73
commit 56d1b2389c

View file

@ -86,14 +86,14 @@ static inline void mbedtls_md_sha256_init_free_dummy( void* ctx )
} }
#define MBEDTLS_MD_INFO_SHA256_TYPE MBEDTLS_MD_SHA256 #define MBEDTLS_MD_INFO_SHA256_TYPE MBEDTLS_MD_SHA256
#define MBEDTLS_MD_INFO_SHA256_CTX_TYPE mbedtls_sha256_context #define MBEDTLS_MD_INFO_SHA256_CTX_TYPE mbedtls_sha256_context
#if defined(MBEDTLS_MD_SINGLE_HASH) #if defined(MBEDTLS_MD_SINGLE_HASH) && !defined(MBEDTLS_SHA256_ALT)
/* mbedtls_md_sha256_init() only zeroizes, which is redundant /* mbedtls_md_sha256_init() only zeroizes, which is redundant
* because mbedtls_md_context is zeroized in mbedtls_md_init(), * because mbedtls_md_context is zeroized in mbedtls_md_init(),
* and the mbedtls_sha256_context is embedded in mbedtls_md_context_t. */ * and the mbedtls_sha256_context is embedded in mbedtls_md_context_t. */
#define MBEDTLS_MD_INFO_SHA256_INIT_FUNC mbedtls_md_sha256_init_free_dummy #define MBEDTLS_MD_INFO_SHA256_INIT_FUNC mbedtls_md_sha256_init_free_dummy
#else #else
#define MBEDTLS_MD_INFO_SHA256_INIT_FUNC mbedtls_sha256_init #define MBEDTLS_MD_INFO_SHA256_INIT_FUNC mbedtls_sha256_init
#endif /* MBEDTLS_MD_SINGLE_HASH */ #endif /* MBEDTLS_MD_SINGLE_HASH && !MBEDTLS_SHA256_ALT */
#define MBEDTLS_MD_INFO_SHA256_NAME "SHA256" #define MBEDTLS_MD_INFO_SHA256_NAME "SHA256"
#define MBEDTLS_MD_INFO_SHA256_SIZE 32 #define MBEDTLS_MD_INFO_SHA256_SIZE 32
#define MBEDTLS_MD_INFO_SHA256_BLOCKSIZE 64 #define MBEDTLS_MD_INFO_SHA256_BLOCKSIZE 64
@ -102,14 +102,14 @@ static inline void mbedtls_md_sha256_init_free_dummy( void* ctx )
#define MBEDTLS_MD_INFO_SHA256_FINISH_FUNC mbedtls_sha224_finish_wrap #define MBEDTLS_MD_INFO_SHA256_FINISH_FUNC mbedtls_sha224_finish_wrap
#define MBEDTLS_MD_INFO_SHA256_DIGEST_FUNC mbedtls_sha256_wrap #define MBEDTLS_MD_INFO_SHA256_DIGEST_FUNC mbedtls_sha256_wrap
#define MBEDTLS_MD_INFO_SHA256_ALLOC_FUNC mbedtls_sha224_ctx_alloc #define MBEDTLS_MD_INFO_SHA256_ALLOC_FUNC mbedtls_sha224_ctx_alloc
#if defined(MBEDTLS_MD_SINGLE_HASH) #if defined(MBEDTLS_MD_SINGLE_HASH) && !defined(MBEDTLS_SHA256_ALT)
/* mbedtls_md_sha256_free() only zeroizes, which is redundant /* mbedtls_md_sha256_free() only zeroizes, which is redundant
* because mbedtls_md_context is zeroized in mbedtls_md_init(), * because mbedtls_md_context is zeroized in mbedtls_md_init(),
* and the mbedtls_sha256_context is embedded in mbedtls_md_context_t. */ * and the mbedtls_sha256_context is embedded in mbedtls_md_context_t. */
#define MBEDTLS_MD_INFO_SHA256_FREE_FUNC mbedtls_md_sha256_init_free_dummy #define MBEDTLS_MD_INFO_SHA256_FREE_FUNC mbedtls_md_sha256_init_free_dummy
#else #else
#define MBEDTLS_MD_INFO_SHA256_FREE_FUNC mbedtls_sha224_ctx_free #define MBEDTLS_MD_INFO_SHA256_FREE_FUNC mbedtls_sha224_ctx_free
#endif /* MBEDTLS_MD_SINGLE_HASH */ #endif /* MBEDTLS_MD_SINGLE_HASH && !MBEDTLS_SHA256_ALT */
#define MBEDTLS_MD_INFO_SHA256_CLONE_FUNC mbedtls_sha224_clone_wrap #define MBEDTLS_MD_INFO_SHA256_CLONE_FUNC mbedtls_sha224_clone_wrap
#define MBEDTLS_MD_INFO_SHA256_PROCESS_FUNC mbedtls_sha224_process_wrap #define MBEDTLS_MD_INFO_SHA256_PROCESS_FUNC mbedtls_sha224_process_wrap