diff options
author | Jo-Philipp Wich <jo@mein.io> | 2020-09-23 14:35:00 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2020-09-23 14:35:00 +0200 |
commit | 45f1c9f05c66f864853a2a9bc3b592f6f9d42e6f (patch) | |
tree | f00aff5266c20035019d73d46cc6b6a43ee9b98c /eval.c | |
parent | 2bb74a2f510f359713b4f4710ad88d81440a51b3 (diff) |
eval: ensure that argument array is initialized when invoking C functions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -1137,7 +1137,13 @@ ut_execute_call(struct ut_state *state, uint32_t off) rv = ut_exception(state, op->tree.operand[0], p ? p : "Type error: left-hand side expression is not a function"); } else { - rv = ut_invoke(state, off, NULL, v[0], v[1]); + if (v[1] == NULL) + v[1] = json_object_new_array(); + + if (v[1] == NULL) + rv = ut_exception(state, off, UT_ERRMSG_OOM); + else + rv = ut_invoke(state, off, NULL, v[0], v[1]); } ut_putval(v[0]); |