From 316567898e5e9286c2296ec6687903ae1b50aff9 Mon Sep 17 00:00:00 2001 From: pantor Date: Sat, 16 Jan 2021 15:38:14 +0100 Subject: [PATCH] add size check in get_argument_vector --- include/inja/renderer.hpp | 4 ++++ 1 file changed, 4 insertions(+) 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();