Commit 771e0c6c authored by Jonas Maebe's avatar Jonas Maebe Committed by Kurt Roeckx
Browse files

dev_crypto_md5_update: check result of realloc(md_data->data) and don't leak memory if it fails



Signed-off-by: default avatarKurt Roeckx <kurt@openssl.org>
Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
parent d8513b4a
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -382,11 +382,15 @@ static int dev_crypto_md5_update(EVP_MD_CTX *ctx,const void *data,
				 unsigned long len)
    {
    MD_DATA *md_data=ctx->md_data;
    char *tmp_md_data;

    if(ctx->flags&EVP_MD_CTX_FLAG_ONESHOT)
	return do_digest(md_data->sess.ses,md_data->md,data,len);

    md_data->data=OPENSSL_realloc(md_data->data,md_data->len+len);
    tmp_md_data=OPENSSL_realloc(md_data->data,md_data->len+len);
    if (tmp_md_data == NULL)
	return 0;
    md_data->data=tmp_md_data;
    memcpy(md_data->data+md_data->len,data,len);
    md_data->len+=len;