vtls: avoid memory leak if sha256 call fails
... in the pinned public key handling function. Reported-by: lizhuang0630 on github Fixes #11306 Closes #11307
This commit is contained in:
parent
fdfc2bb6be
commit
a4a5e438ae
@ -907,14 +907,12 @@ CURLcode Curl_pin_peer_pubkey(struct Curl_easy *data,
|
|||||||
if(!sha256sumdigest)
|
if(!sha256sumdigest)
|
||||||
return CURLE_OUT_OF_MEMORY;
|
return CURLE_OUT_OF_MEMORY;
|
||||||
encode = Curl_ssl->sha256sum(pubkey, pubkeylen,
|
encode = Curl_ssl->sha256sum(pubkey, pubkeylen,
|
||||||
sha256sumdigest, CURL_SHA256_DIGEST_LENGTH);
|
sha256sumdigest, CURL_SHA256_DIGEST_LENGTH);
|
||||||
|
|
||||||
if(encode != CURLE_OK)
|
if(!encode)
|
||||||
return encode;
|
encode = Curl_base64_encode((char *)sha256sumdigest,
|
||||||
|
CURL_SHA256_DIGEST_LENGTH, &encoded,
|
||||||
encode = Curl_base64_encode((char *)sha256sumdigest,
|
&encodedlen);
|
||||||
CURL_SHA256_DIGEST_LENGTH, &encoded,
|
|
||||||
&encodedlen);
|
|
||||||
Curl_safefree(sha256sumdigest);
|
Curl_safefree(sha256sumdigest);
|
||||||
|
|
||||||
if(encode)
|
if(encode)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user