summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2023-09-06 13:36:43 +0200
committerMatt Caswell <matt@openssl.org>2023-09-08 16:44:37 +0200
commit11b7d46fa7e2684e0ad0f12a7806163dba99983d (patch)
treef2349dd688bad7b70a1d907c6e3a9c568d2c223f
parentAdd a missing call to BIO_closesocket() (diff)
downloadopenssl-11b7d46fa7e2684e0ad0f12a7806163dba99983d.tar.xz
openssl-11b7d46fa7e2684e0ad0f12a7806163dba99983d.zip
Return NULL if we fail to create a BIO in the demos/quicserver
Strictly speaking the previous code was still correct since BIO_set_fd is tolerant of a NULL BIO. But this way is more clear. Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Hugo Landau <hlandau@openssl.org> (Merged from https://github.com/openssl/openssl/pull/21950)
-rw-r--r--demos/guide/quic-client-block.c6
-rw-r--r--demos/guide/quic-client-non-block.c6
-rw-r--r--demos/guide/quic-multi-stream.c7
-rw-r--r--demos/guide/tls-client-block.c4
-rw-r--r--demos/guide/tls-client-non-block.c6
-rw-r--r--doc/man7/ossl-guide-quic-client-block.pod6
-rw-r--r--doc/man7/ossl-guide-tls-client-block.pod6
-rw-r--r--util/quicserver.c6
8 files changed, 31 insertions, 16 deletions
diff --git a/demos/guide/quic-client-block.c b/demos/guide/quic-client-block.c
index 2c177b4f18..e6cabfef26 100644
--- a/demos/guide/quic-client-block.c
+++ b/demos/guide/quic-client-block.c
@@ -89,10 +89,12 @@ static BIO *create_socket_bio(const char *hostname, const char *port,
if (sock == -1)
return NULL;
- /* Create a BIO to wrap the socket*/
+ /* Create a BIO to wrap the socket */
bio = BIO_new(BIO_s_datagram());
- if (bio == NULL)
+ if (bio == NULL) {
BIO_closesocket(sock);
+ return NULL;
+ }
/*
* Associate the newly created BIO with the underlying socket. By
diff --git a/demos/guide/quic-client-non-block.c b/demos/guide/quic-client-non-block.c
index e1735c0c5d..61d339c79c 100644
--- a/demos/guide/quic-client-non-block.c
+++ b/demos/guide/quic-client-non-block.c
@@ -90,10 +90,12 @@ static BIO *create_socket_bio(const char *hostname, const char *port,
if (sock == -1)
return NULL;
- /* Create a BIO to wrap the socket*/
+ /* Create a BIO to wrap the socket */
bio = BIO_new(BIO_s_datagram());
- if (bio == NULL)
+ if (bio == NULL) {
BIO_closesocket(sock);
+ return NULL;
+ }
/*
* Associate the newly created BIO with the underlying socket. By
diff --git a/demos/guide/quic-multi-stream.c b/demos/guide/quic-multi-stream.c
index 8b6567aa83..56db5a98a8 100644
--- a/demos/guide/quic-multi-stream.c
+++ b/demos/guide/quic-multi-stream.c
@@ -90,11 +90,12 @@ static BIO *create_socket_bio(const char *hostname, const char *port,
if (sock == -1)
return NULL;
- /* Create a BIO to wrap the socket*/
+ /* Create a BIO to wrap the socket */
bio = BIO_new(BIO_s_datagram());
- if (bio == NULL)
+ if (bio == NULL) {
BIO_closesocket(sock);
-
+ return NULL;
+ }
/*
* Associate the newly created BIO with the underlying socket. By
* passing BIO_CLOSE here the socket will be automatically closed when
diff --git a/demos/guide/tls-client-block.c b/demos/guide/tls-client-block.c
index b2d2a89dd1..75ce7ebcc2 100644
--- a/demos/guide/tls-client-block.c
+++ b/demos/guide/tls-client-block.c
@@ -76,8 +76,10 @@ static BIO *create_socket_bio(const char *hostname, const char *port)
/* Create a BIO to wrap the socket*/
bio = BIO_new(BIO_s_socket());
- if (bio == NULL)
+ if (bio == NULL) {
BIO_closesocket(sock);
+ return NULL;
+ }
/*
* Associate the newly created BIO with the underlying socket. By
diff --git a/demos/guide/tls-client-non-block.c b/demos/guide/tls-client-non-block.c
index dc6ee4dce8..14448c9685 100644
--- a/demos/guide/tls-client-non-block.c
+++ b/demos/guide/tls-client-non-block.c
@@ -81,10 +81,12 @@ static BIO *create_socket_bio(const char *hostname, const char *port)
if (sock == -1)
return NULL;
- /* Create a BIO to wrap the socket*/
+ /* Create a BIO to wrap the socket */
bio = BIO_new(BIO_s_socket());
- if (bio == NULL)
+ if (bio == NULL) {
BIO_closesocket(sock);
+ return NULL;
+ }
/*
* Associate the newly created BIO with the underlying socket. By
diff --git a/doc/man7/ossl-guide-quic-client-block.pod b/doc/man7/ossl-guide-quic-client-block.pod
index 4cf8bdd3b8..fc8912086d 100644
--- a/doc/man7/ossl-guide-quic-client-block.pod
+++ b/doc/man7/ossl-guide-quic-client-block.pod
@@ -165,10 +165,12 @@ associate it with a BIO object:
BIO *bio;
- /* Create a BIO to wrap the socket*/
+ /* Create a BIO to wrap the socket */
bio = BIO_new(BIO_s_datagram());
- if (bio == NULL)
+ if (bio == NULL) {
BIO_closesocket(sock);
+ return NULL;
+ }
/*
* Associate the newly created BIO with the underlying socket. By
diff --git a/doc/man7/ossl-guide-tls-client-block.pod b/doc/man7/ossl-guide-tls-client-block.pod
index 236553fafd..865a5353b3 100644
--- a/doc/man7/ossl-guide-tls-client-block.pod
+++ b/doc/man7/ossl-guide-tls-client-block.pod
@@ -222,10 +222,12 @@ BIO object:
BIO *bio;
- /* Create a BIO to wrap the socket*/
+ /* Create a BIO to wrap the socket */
bio = BIO_new(BIO_s_socket());
- if (bio == NULL)
+ if (bio == NULL) {
BIO_closesocket(sock);
+ return NULL;
+ }
/*
* Associate the newly created BIO with the underlying socket. By
diff --git a/util/quicserver.c b/util/quicserver.c
index 5a51b240ff..fd9f9399bd 100644
--- a/util/quicserver.c
+++ b/util/quicserver.c
@@ -113,10 +113,12 @@ static BIO *create_dgram_bio(int family, const char *hostname, const char *port)
if (sock == -1)
return NULL;
- /* Create a BIO to wrap the socket*/
+ /* Create a BIO to wrap the socket */
bio = BIO_new(BIO_s_datagram());
- if (bio == NULL)
+ if (bio == NULL) {
BIO_closesocket(sock);
+ return NULL;
+ }
/*
* Associate the newly created BIO with the underlying socket. By