add size check in get_argument_vector
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 @@
 
   template<bool throw_not_found=true>
   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();