diff --git a/include/inja/renderer.hpp b/include/inja/renderer.hpp index 688a912..8b3a270 100644 --- a/include/inja/renderer.hpp +++ b/include/inja/renderer.hpp @@ -119,6 +119,10 @@ class Renderer : public NodeVisitor { template Arguments get_argument_vector(size_t N, const AstNode& node) { + if (json_eval_stack.size() < N) { + throw_renderer_error("function needs " + std::to_string(N) + " variables, but has only found " + std::to_string(json_eval_stack.size()), node); + } + Arguments result {N}; for (size_t i = 0; i < N; i += 1) { result[N - i - 1] = json_eval_stack.top();