aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/bio/b_sock.c
diff options
context:
space:
mode:
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>2020-05-28 15:16:45 +0200
committerDr. David von Oheimb <David.von.Oheimb@siemens.com>2020-06-16 18:51:39 +0200
commite98c7350bfaf0ae1f2b72d68d4c5721de24a478f (patch)
treec98d71a7215e057d2c1fea65f741a4bf58648d28 /crypto/bio/b_sock.c
parent3f528d0899e8fe850c63d600ee29146bc8a9c125 (diff)
downloadopenssl-e98c7350bfaf0ae1f2b72d68d4c5721de24a478f.tar.gz
Improve BIO_socket_wait(), BIO_wait(), BIO_connect_retry(), and their docs
Add/extend range check for 'fd' argument of BIO_socket_wait() and bio_wait() Correct nap time calculations in bio_wait(), thus correcting also BIO_wait() Update a type cast from 'unsigned long' to 'unsigned int' Extend the comments and documentation of BIO_wait() Rename BIO_connect_retry() to BIO_do_connect_retry() Make its 'timeout' argument < 0 lead to BIO_do_connect() tried only once Add optional 'nap_milliseconds' parameter determining the polling granularity Correct and generalize the retry case checking Extend the comments and documentation of BIO_do_connect_retry() Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11986)
Diffstat (limited to 'crypto/bio/b_sock.c')
-rw-r--r--crypto/bio/b_sock.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/bio/b_sock.c b/crypto/bio/b_sock.c
index f5d2a627cb..79f7743b2f 100644
--- a/crypto/bio/b_sock.c
+++ b/crypto/bio/b_sock.c
@@ -387,6 +387,8 @@ int BIO_socket_wait(int fd, int for_read, time_t max_time)
struct timeval tv;
time_t now;
+ if (fd < 0 || fd >= FD_SETSIZE)
+ return -1;
if (max_time == 0)
return 1;