openssl: avoid NULL pointer dereference in EVP_DigestInit_ex()

We should avoid accessing the type pointer if it's NULL,
this could happen if ctx->digest is not NULL.

Upstream-Status: Submitted
http://www.mail-archive.com/openssl-dev@openssl.org/msg32860.html

Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
---
Index: openssl-1.0.2/crypto/evp/digest.c
===================================================================
--- openssl-1.0.2.orig/crypto/evp/digest.c
+++ openssl-1.0.2/crypto/evp/digest.c
@@ -208,7 +208,7 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, c
         return 0;
     }
 #endif
-    if (ctx->digest != type) {
+    if (type && (ctx->digest != type)) {
         if (ctx->digest && ctx->digest->ctx_size)
             OPENSSL_free(ctx->md_data);
         ctx->digest = type;
