]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
nss: check for PK11_CreateDigestContext() returning NULL
authorDaniel Stenberg <daniel@haxx.se>
Mon, 27 Apr 2020 10:21:17 +0000 (12:21 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 27 Apr 2020 14:25:59 +0000 (16:25 +0200)
... to avoid crashes!

Reported-by: Hao Wu
Fixes #5302
Closes #5303

lib/vtls/nss.c

index 3a65a66be577ccbaa7a985bc336a943e2c6e5b32..16ec409e925239d591fcce2ba19f2d10a30d9520 100644 (file)
@@ -2374,6 +2374,9 @@ static CURLcode Curl_nss_md5sum(unsigned char *tmp, /* input */
   PK11Context *MD5pw = PK11_CreateDigestContext(SEC_OID_MD5);
   unsigned int MD5out;
 
+  if(!MD5pw)
+    return CURLE_NOT_BUILT_IN;
+
   PK11_DigestOp(MD5pw, tmp, curlx_uztoui(tmplen));
   PK11_DigestFinal(MD5pw, md5sum, &MD5out, curlx_uztoui(md5len));
   PK11_DestroyContext(MD5pw, PR_TRUE);
@@ -2389,6 +2392,9 @@ static CURLcode Curl_nss_sha256sum(const unsigned char *tmp, /* input */
   PK11Context *SHA256pw = PK11_CreateDigestContext(SEC_OID_SHA256);
   unsigned int SHA256out;
 
+  if(!SHA256pw)
+    return CURLE_NOT_BUILT_IN;
+
   PK11_DigestOp(SHA256pw, tmp, curlx_uztoui(tmplen));
   PK11_DigestFinal(SHA256pw, sha256sum, &SHA256out, curlx_uztoui(sha256len));
   PK11_DestroyContext(SHA256pw, PR_TRUE);