openssl.c: fix possible segfault in case EVP_DigestInit fails
diff --git a/src/openssl.c b/src/openssl.c
index 2e31472..42cee2d 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -577,9 +577,10 @@
     EVP_MD_CTX ctx;
 
     EVP_MD_CTX_init(&ctx);
-    EVP_DigestInit(&ctx, EVP_get_digestbyname("sha1"));
-    EVP_DigestUpdate(&ctx, message, len);
-    EVP_DigestFinal(&ctx, out, NULL);
+    if (EVP_DigestInit(&ctx, EVP_get_digestbyname("sha1"))) {
+        EVP_DigestUpdate(&ctx, message, len);
+        EVP_DigestFinal(&ctx, out, NULL);
+    }
 }
 
 int
@@ -596,9 +597,10 @@
     EVP_MD_CTX ctx;
 
     EVP_MD_CTX_init(&ctx);
-    EVP_DigestInit(&ctx, EVP_get_digestbyname("md5"));
-    EVP_DigestUpdate(&ctx, message, len);
-    EVP_DigestFinal(&ctx, out, NULL);
+    if (EVP_DigestInit(&ctx, EVP_get_digestbyname("md5"))) {
+        EVP_DigestUpdate(&ctx, message, len);
+        EVP_DigestFinal(&ctx, out, NULL);
+    }
 }
 
 static unsigned char *