Don't raise an error on retryable read in a BIO_s_dgram_pair()

This results in spurious errors appearing on the queue in normal
operation, e.g. calling SSL_tick() with a QUIC connection will succeed,
but an error will end up on the queue anyway.

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20030)
This commit is contained in:
Matt Caswell 2022-12-01 14:16:02 +00:00 committed by Hugo Landau
parent 2f1d8f858d
commit 3f968ecf47

View File

@ -1066,12 +1066,10 @@ static int dgram_pair_recvmmsg(BIO *bio, BIO_MSG *msg,
m->local, m->peer, 1);
if (l < 0) {
*num_processed = i;
if (i > 0) {
if (i > 0)
ret = 1;
} else {
ERR_raise(ERR_LIB_BIO, -l);
else
ret = 0;
}
goto out;
}