Only OPENSSL_free() non-NULL pointers.
This commit is contained in:
parent
8716dbea40
commit
e19ea55783
@ -84,6 +84,7 @@ int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type)
|
|||||||
{
|
{
|
||||||
if(ctx->digest != type)
|
if(ctx->digest != type)
|
||||||
{
|
{
|
||||||
|
if(ctx->md_data != NULL)
|
||||||
OPENSSL_free(ctx->md_data);
|
OPENSSL_free(ctx->md_data);
|
||||||
ctx->digest=type;
|
ctx->digest=type;
|
||||||
#ifdef CRYPTO_MDEBUG
|
#ifdef CRYPTO_MDEBUG
|
||||||
@ -155,9 +156,10 @@ int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx)
|
|||||||
* because sometimes only copies of the context are ever finalised.
|
* because sometimes only copies of the context are ever finalised.
|
||||||
*/
|
*/
|
||||||
if(ctx->md_data)
|
if(ctx->md_data)
|
||||||
|
{
|
||||||
memset(ctx->md_data,0,ctx->digest->ctx_size);
|
memset(ctx->md_data,0,ctx->digest->ctx_size);
|
||||||
|
|
||||||
OPENSSL_free(ctx->md_data);
|
OPENSSL_free(ctx->md_data);
|
||||||
|
}
|
||||||
memset(ctx,'\0',sizeof *ctx);
|
memset(ctx,'\0',sizeof *ctx);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user