From 094bfc6beb3672863bd3475c2549628fcb03b7e6 Mon Sep 17 00:00:00 2001 From: Maxim Dounin Date: Wed, 30 Apr 2014 19:16:55 +0400 Subject: [PATCH] Upstream: restored workaround for "if". The 7022564a9e0e changeset made ineffective workaround from 2464ccebdb52 to avoid NULL pointer dereference with "if". It is now restored by moving the u->ssl_name initialization after the check. Found by Coverity (CID 1210408). --- src/http/ngx_http_upstream.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c index a64538309..de3ff130a 100644 --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -584,9 +584,6 @@ ngx_http_upstream_init_request(ngx_http_request_t *r) if (u->resolved == NULL) { uscf = u->conf->upstream; -#if (NGX_HTTP_SSL) - u->ssl_name = uscf->host; -#endif } else { @@ -680,6 +677,10 @@ found: return; } +#if (NGX_HTTP_SSL) + u->ssl_name = uscf->host; +#endif + if (uscf->peer.init(r, uscf) != NGX_OK) { ngx_http_upstream_finalize_request(r, u, NGX_HTTP_INTERNAL_SERVER_ERROR);