http_client.c: check expected content type only if HTTP status code is 200 (OK)

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
(Merged from https://github.com/openssl/openssl/pull/18204)

(cherry picked from commit e3477d3e5c)
This commit is contained in:
Dr. David von Oheimb 2022-04-28 15:35:13 +02:00 committed by Dr. David von Oheimb
parent 6c49fdde69
commit 07982ebe99
1 changed files with 1 additions and 1 deletions

View File

@ -670,7 +670,7 @@ int OSSL_HTTP_REQ_CTX_nbio(OSSL_HTTP_REQ_CTX *rctx)
rctx->redirection_url = value;
return 0;
}
if (rctx->expected_ct != NULL
if (rctx->state == OHS_HEADERS && rctx->expected_ct != NULL
&& OPENSSL_strcasecmp(key, "Content-Type") == 0) {
if (OPENSSL_strcasecmp(rctx->expected_ct, value) != 0) {
ERR_raise_data(ERR_LIB_HTTP, HTTP_R_UNEXPECTED_CONTENT_TYPE,