提交 c71b72ac 编写于 作者: T Tomas Mraz 提交者: Todd Short

Coverity 1528488: Avoid assignment of unused value rctx

Also some move redirection_url inside loop
where it is only used.
上级 82b81161
...@@ -1170,13 +1170,12 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, ...@@ -1170,13 +1170,12 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy,
const char *expected_ct, int expect_asn1, const char *expected_ct, int expect_asn1,
size_t max_resp_len, int timeout) size_t max_resp_len, int timeout)
{ {
char *current_url, *redirection_url = NULL; char *current_url;
int n_redirs = 0; int n_redirs = 0;
char *host; char *host;
char *port; char *port;
char *path; char *path;
int use_ssl; int use_ssl;
OSSL_HTTP_REQ_CTX *rctx = NULL;
BIO *resp = NULL; BIO *resp = NULL;
time_t max_time = timeout > 0 ? time(NULL) + timeout : 0; time_t max_time = timeout > 0 ? time(NULL) + timeout : 0;
...@@ -1188,6 +1187,9 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, ...@@ -1188,6 +1187,9 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy,
return NULL; return NULL;
for (;;) { for (;;) {
OSSL_HTTP_REQ_CTX *rctx;
char *redirection_url;
if (!OSSL_HTTP_parse_url(current_url, &use_ssl, NULL /* user */, &host, if (!OSSL_HTTP_parse_url(current_url, &use_ssl, NULL /* user */, &host,
&port, NULL /* port_num */, &path, NULL, NULL)) &port, NULL /* port_num */, &path, NULL, NULL))
break; break;
...@@ -1196,6 +1198,7 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, ...@@ -1196,6 +1198,7 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy,
use_ssl, bio, rbio, bio_update_fn, arg, use_ssl, bio, rbio, bio_update_fn, arg,
buf_size, timeout); buf_size, timeout);
new_rpath: new_rpath:
redirection_url = NULL;
if (rctx != NULL) { if (rctx != NULL) {
if (!OSSL_HTTP_set1_request(rctx, path, headers, if (!OSSL_HTTP_set1_request(rctx, path, headers,
NULL /* content_type */, NULL /* content_type */,
...@@ -1205,9 +1208,9 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, ...@@ -1205,9 +1208,9 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy,
0 /* no keep_alive */)) { 0 /* no keep_alive */)) {
OSSL_HTTP_REQ_CTX_free(rctx); OSSL_HTTP_REQ_CTX_free(rctx);
rctx = NULL; rctx = NULL;
} else { } else {
resp = OSSL_HTTP_exchange(rctx, &redirection_url); resp = OSSL_HTTP_exchange(rctx, &redirection_url);
} }
} }
OPENSSL_free(path); OPENSSL_free(path);
if (resp == NULL && redirection_url != NULL) { if (resp == NULL && redirection_url != NULL) {
...@@ -1222,7 +1225,6 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, ...@@ -1222,7 +1225,6 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy,
OPENSSL_free(host); OPENSSL_free(host);
OPENSSL_free(port); OPENSSL_free(port);
(void)OSSL_HTTP_close(rctx, 1); (void)OSSL_HTTP_close(rctx, 1);
rctx = NULL;
BIO_free(resp); BIO_free(resp);
OPENSSL_free(current_url); OPENSSL_free(current_url);
return NULL; return NULL;
...@@ -1232,7 +1234,6 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, ...@@ -1232,7 +1234,6 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy,
OPENSSL_free(host); OPENSSL_free(host);
OPENSSL_free(port); OPENSSL_free(port);
(void)OSSL_HTTP_close(rctx, 1); (void)OSSL_HTTP_close(rctx, 1);
rctx = NULL;
continue; continue;
} }
/* if redirection not allowed, ignore it */ /* if redirection not allowed, ignore it */
...@@ -1242,7 +1243,6 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy, ...@@ -1242,7 +1243,6 @@ BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy,
OPENSSL_free(port); OPENSSL_free(port);
if (!OSSL_HTTP_close(rctx, resp != NULL)) { if (!OSSL_HTTP_close(rctx, resp != NULL)) {
BIO_free(resp); BIO_free(resp);
rctx = NULL;
resp = NULL; resp = NULL;
} }
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册