From: Dmitry Volyntsev Date: Mon, 20 May 2024 23:44:10 +0000 (-0700) Subject: HTTP: fixed handling of 0 length request body. X-Git-Tag: 0.8.5~28 X-Git-Url: http://www.kaiwu.me/postgresql/commit/static/gitweb.js?a=commitdiff_plain;h=74854b6edaa8a76fdc96395cdc7fbdfcd01425b6;p=njs.git HTTP: fixed handling of 0 length request body. Previously, when r.requestBuffer was passed as a body argument to ngx.fetch() or r.subrequest() then exception was thrown "Error: invalid Request body" when the request body had 0 length. --- diff --git a/src/njs_vm.c b/src/njs_vm.c index 7a2b0632..7183a24c 100644 --- a/src/njs_vm.c +++ b/src/njs_vm.c @@ -1602,6 +1602,12 @@ njs_vm_value_to_bytes(njs_vm_t *vm, njs_str_t *dst, njs_value_t *src) } if (njs_slow_path(njs_is_detached_buffer(buffer))) { + if (length == 0) { + dst->length = 0; + dst->start = NULL; + return NJS_OK; + } + njs_type_error(vm, "detached buffer"); return NJS_ERROR; }