From: Dmitry Volyntsev Date: Thu, 11 Jun 2026 23:50:23 +0000 (-0700) Subject: Fetch: fix Content-Length reservation in request building X-Git-Tag: 1.0.0~10 X-Git-Url: http://git.kaiwu.me/postgresql/log/contrib/postgres_fdw/static/gitweb.js?a=commitdiff_plain;h=02d83583dd698eb1e989f271d9854d78c5de87de;p=njs.git Fetch: fix Content-Length reservation in request building Previously, the reservation passed to njs_chb_sprintf() was too small for the maximum size_t output, so the header could be silently truncated for very large request bodies. --- diff --git a/nginx/ngx_js_http.c b/nginx/ngx_js_http.c index bd8260a2..e5d367e9 100644 --- a/nginx/ngx_js_http.c +++ b/nginx/ngx_js_http.c @@ -2263,8 +2263,10 @@ ngx_js_fetch_build_request(ngx_js_http_t *http, ngx_js_request_t *request, } if (request->body.len != 0) { - njs_chb_sprintf(&http->chain, 32, "Content-Length: %uz" CRLF CRLF, - request->body.len); + njs_chb_sprintf(&http->chain, + sizeof("Content-Length: " CRLF CRLF) - 1 + + NGX_SIZE_T_LEN, + "Content-Length: %uz" CRLF CRLF, request->body.len); njs_chb_append(&http->chain, request->body.data, request->body.len); } else {