[njs] Add missing null checks for promise code.
noreply at nginx.com
noreply at nginx.com
Thu May 15 18:40:02 UTC 2025
details: https://github.com/nginx/njs/commit/04721dd3ecb53e080f3f578f587b069c5bc21dae
branches: master
commit: 04721dd3ecb53e080f3f578f587b069c5bc21dae
user: Dmitry Sviridkin <dmisvrl1 at gmail.com>
date: Thu, 15 May 2025 13:55:13 +0100
description:
Add missing null checks for promise code.
---
src/njs_promise.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/njs_promise.c b/src/njs_promise.c
index f8951cca..78043af4 100644
--- a/src/njs_promise.c
+++ b/src/njs_promise.c
@@ -457,6 +457,10 @@ njs_promise_trigger_reactions(njs_vm_t *vm, njs_value_t *value,
function = njs_promise_create_function(vm,
sizeof(njs_promise_context_t));
+ if (njs_slow_path(function == NULL)) {
+ return njs_value_arg(&njs_value_null);
+ }
+
function->u.native = njs_promise_reaction_job;
njs_set_data(&arguments[0], reaction, 0);
@@ -784,6 +788,11 @@ njs_promise_prototype_then(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
}
function = njs_promise_create_function(vm, sizeof(njs_promise_context_t));
+ if (njs_slow_path(function == NULL)) {
+ /* vm error is already set by njs_promise_create_function */
+ return NJS_ERROR;
+ }
+
function->u.native = njs_promise_constructor;
njs_set_function(&constructor, function);
More information about the nginx-devel
mailing list