Skip to content

Commit

Permalink
Fix some Windows issues in the quic_reactor
Browse files Browse the repository at this point in the history
An incorrect macro name was being used for Windows detection which meant
we were going down a codepath not intended for Windows and thus failing.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from #20514)
  • Loading branch information
mattcaswell authored and paulidale committed Mar 19, 2023
1 parent 0c59332 commit d293ebd
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions ssl/quic/quic_reactor.c
Expand Up @@ -126,13 +126,13 @@ static int poll_two_fds(int rfd, int rfd_want_read,
int wfd, int wfd_want_write,
OSSL_TIME deadline)
{
#if defined(OSSL_SYS_WINDOWS) || !defined(POLLIN)
#if defined(OPENSSL_SYS_WINDOWS) || !defined(POLLIN)
fd_set rfd_set, wfd_set, efd_set;
OSSL_TIME now, timeout;
struct timeval tv, *ptv;
int maxfd, pres;

# ifndef OSSL_SYS_WINDOWS
# ifndef OPENSSL_SYS_WINDOWS
/*
* On Windows there is no relevant limit to the magnitude of a fd value (see
* above). On *NIX the fd_set uses a bitmap and we must check the limit.
Expand Down Expand Up @@ -235,11 +235,12 @@ static int poll_two_fds(int rfd, int rfd_want_read,
static int poll_descriptor_to_fd(const BIO_POLL_DESCRIPTOR *d, int *fd)
{
if (d == NULL || d->type == BIO_POLL_DESCRIPTOR_TYPE_NONE) {
*fd = -1;
*fd = INVALID_SOCKET;
return 1;
}

if (d->type != BIO_POLL_DESCRIPTOR_TYPE_SOCK_FD || d->value.fd < 0)
if (d->type != BIO_POLL_DESCRIPTOR_TYPE_SOCK_FD
|| d->value.fd == INVALID_SOCKET)
return 0;

*fd = d->value.fd;
Expand Down

0 comments on commit d293ebd

Please sign in to comment.