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>
---
--- a/crypto/evp/digest.c
+++ b/crypto/evp/digest.c
@@ -199,7 +199,7 @@
 		return 0;
 		}
 #endif
-	if (ctx->digest != type)
+	if (type && (ctx->digest != type))
 		{
 		if (ctx->digest && ctx->digest->ctx_size)
 			OPENSSL_free(ctx->md_data);
