From 22fe2b129922bc9322c41ce8beff1551c078c838 Mon Sep 17 00:00:00 2001 From: "Dr. David von Oheimb" Date: Sat, 1 May 2021 22:04:17 +0200 Subject: OSSL_HTTP_transfer(): Fix error reporting in case rctx->server is NULL Also improve doc of OSSL_parse_url() and OSSL_HTTP_parse_url(). Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/15053) --- crypto/http/http_client.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'crypto/http') diff --git a/crypto/http/http_client.c b/crypto/http/http_client.c index 50f1e6d378..ee97f64ef6 100644 --- a/crypto/http/http_client.c +++ b/crypto/http/http_client.c @@ -985,17 +985,16 @@ BIO *OSSL_HTTP_exchange(OSSL_HTTP_REQ_CTX *rctx, char **redirection_url) #endif ) { if (rctx->server != NULL) { - BIO_snprintf(buf, 200, "server=http%s://%s", - rctx->use_ssl ? "s" : "", rctx->server); - if (rctx->port != NULL) - BIO_snprintf(buf + strlen(buf), 200 - strlen(buf), - ":%s", rctx->port); + BIO_snprintf(buf, sizeof(buf), "server=http%s://%s%s%s", + rctx->use_ssl ? "s" : "", rctx->server, + rctx->port != NULL ? ":" : "", + rctx->port != NULL ? rctx->port : ""); + ERR_add_error_data(1, buf); } - ERR_add_error_data(1, buf); if (rctx->proxy != NULL) ERR_add_error_data(2, " proxy=", rctx->proxy); if (err == 0) { - BIO_snprintf(buf, 200, " peer has disconnected%s", + BIO_snprintf(buf, sizeof(buf), " peer has disconnected%s", rctx->use_ssl ? " violating the protocol" : ", likely because it requires the use of TLS"); ERR_add_error_data(1, buf); -- cgit v1.2.3