X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fevp%2Fm_md5_sha1.c;h=2d98886ba0e7cda7624c2cbd3b8e6384f98efe77;hp=1213ff64a6d8750a5e7f68953cfd6517d96d5249;hb=13735cfef69dfac2d36229810ea0400e2bc6526d;hpb=6286757141a8c6e14d647ec733634ae0c83d9887 diff --git a/crypto/evp/m_md5_sha1.c b/crypto/evp/m_md5_sha1.c index 1213ff64a6..2d98886ba0 100644 --- a/crypto/evp/m_md5_sha1.c +++ b/crypto/evp/m_md5_sha1.c @@ -52,11 +52,16 @@ static int ctrl(EVP_MD_CTX *ctx, int cmd, int mslen, void *ms) unsigned char padtmp[48]; unsigned char md5tmp[MD5_DIGEST_LENGTH]; unsigned char sha1tmp[SHA_DIGEST_LENGTH]; - struct md5_sha1_ctx *mctx = EVP_MD_CTX_md_data(ctx); + struct md5_sha1_ctx *mctx; if (cmd != EVP_CTRL_SSL3_MASTER_SECRET) + return -2; + + if (ctx == NULL) return 0; + mctx = EVP_MD_CTX_md_data(ctx); + /* SSLv3 client auth handling: see RFC-6101 5.6.8 */ if (mslen != 48) return 0;