Raise an error on syscall failure in tls_retry_write_records

Record the errno when we get a syscall failure in
tls_retry_write_records

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23723)
This commit is contained in:
Neil Horman 2024-03-13 11:22:15 -04:00 committed by Tomas Mraz
parent 3dcd85139f
commit 933f57dfe2
1 changed files with 5 additions and 2 deletions

View File

@ -1914,10 +1914,13 @@ int tls_retry_write_records(OSSL_RECORD_LAYER *rl)
else
ret = OSSL_RECORD_RETURN_SUCCESS;
} else {
if (BIO_should_retry(rl->bio))
if (BIO_should_retry(rl->bio)) {
ret = OSSL_RECORD_RETURN_RETRY;
else
} else {
ERR_raise_data(ERR_LIB_SYS, get_last_sys_error(),
"tls_retry_write_records failure");
ret = OSSL_RECORD_RETURN_FATAL;
}
}
} else {
RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, SSL_R_BIO_NOT_SET);