From 74854b6edaa8a76fdc96395cdc7fbdfcd01425b6 Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Mon, 20 May 2024 16:44:10 -0700 Subject: [PATCH] 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. --- src/njs_vm.c | 6 ++++++ 1 file changed, 6 insertions(+) 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; } -- 2.47.3