diff options
author | Dmitry Sviridkin <dmisvrl1@gmail.com> | 2025-05-15 13:55:13 +0100 |
---|---|---|
committer | Dmitry Volyntsev <xeioexception@gmail.com> | 2025-05-15 11:39:56 -0700 |
commit | 04721dd3ecb53e080f3f578f587b069c5bc21dae (patch) | |
tree | 403c813ffe569b70b853961b8e14bec76483b9ce | |
parent | b7f76b71f4a1511cd9d954e6da3b0da4c9de40fb (diff) | |
download | njs-04721dd3ecb53e080f3f578f587b069c5bc21dae.tar.gz njs-04721dd3ecb53e080f3f578f587b069c5bc21dae.zip |
Add missing null checks for promise code.
-rw-r--r-- | src/njs_promise.c | 9 |
1 files changed, 9 insertions, 0 deletions
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); |