From 1b01b7f2eff33ca9bd1da9fa628fd07a48c5a7cc Mon Sep 17 00:00:00 2001 From: Remi Tricot-Le Breton Date: Wed, 16 Feb 2022 15:17:09 +0100 Subject: [PATCH] BUG/MINOR: ssl: Missing return value check in ssl_ocsp_response_print When calling ssl_ocsp_response_print which is used to display an OCSP response's details when calling the "show ssl ocsp-response" on the CLI, we use the BIO_read function that copies an OpenSSL BIO into a trash. The return value was not checked though, which could lead to some crashes since BIO_read can return a negative value in case of error. This patch should be backported to 2.5. --- src/ssl_sock.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ssl_sock.c b/src/ssl_sock.c index 4d2fcc392..460eb6019 100644 --- a/src/ssl_sock.c +++ b/src/ssl_sock.c @@ -7593,6 +7593,8 @@ int ssl_ocsp_response_print(struct buffer *ocsp_response, struct buffer *out) static struct ist double_lf = IST("\n\n"); write = BIO_read(bio, trash->area, trash->size - 1); + if (write <= 0) + goto end; trash->data = write; /* Look for empty lines in the 'trash' buffer and add a space to