[nginx] Upstream: fixed missing return in error handling.

Maxim Dounin mdounin at mdounin.ru
Fri Jul 3 04:06:42 UTC 2026


details:   http://freenginx.org/hg/nginx/rev/3072e5ce18a5
branches:  
changeset: 9570:3072e5ce18a5
user:      Maxim Dounin <mdounin at mdounin.ru>
date:      Sat Jun 27 01:35:52 2026 +0300
description:
Upstream: fixed missing return in error handling.

Missed in 9295:c5623963c29e (1.27.2), might cause segmentation faults on
memory allocation errors with proxy_no_cache (or if script buffer
overrun protections are triggered during evaluation of proxy_no_cache
predicates, or on cache node allocation errors if proxy_cache_bypass is
also used).

Reported by Valentin Bartenev.

diffstat:

 src/http/ngx_http_upstream.c |  1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diffs (11 lines):

diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -3236,6 +3236,7 @@ ngx_http_upstream_send_response(ngx_http
 
     if (ngx_http_upstream_no_cache(r, u) != NGX_OK) {
         ngx_http_upstream_finalize_request(r, u, NGX_ERROR);
+        return;
     }
 
     if (u->cacheable) {


More information about the nginx-devel mailing list