OCSP_sendreq_bio: Avoid doublefree of mem BIO

Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
(Merged from https://github.com/openssl/openssl/pull/16886)
This commit is contained in:
Tomas Mraz 2021-10-22 09:38:18 +02:00
parent 7b2bde500d
commit f99b34957f

View File

@ -58,13 +58,11 @@ OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, const char *path, OCSP_REQUEST *req)
if (ctx == NULL)
return NULL;
mem = OSSL_HTTP_REQ_CTX_exchange(ctx);
resp = (OCSP_RESPONSE *)
ASN1_item_d2i_bio(ASN1_ITEM_rptr(OCSP_RESPONSE), mem, NULL);
BIO_free(mem);
/* ASN1_item_d2i_bio handles NULL bio gracefully */
resp = (OCSP_RESPONSE *)ASN1_item_d2i_bio(ASN1_ITEM_rptr(OCSP_RESPONSE),
mem, NULL);
/* this indirectly calls ERR_clear_error(): */
OSSL_HTTP_REQ_CTX_free(ctx);
return resp;
}
#endif /* !defined(OPENSSL_NO_OCSP) */