From d57b7cc3338e9d9aa1d7c5da1b25a17c5a72dcce Mon Sep 17 00:00:00 2001 From: Alexander Korotkov Date: Fri, 16 Feb 2024 16:02:00 +0200 Subject: Add missing check_stack_depth() to some recursive functions Reported-by: Egor Chindyaskin, Alexander Lakhin Discussion: https://postgr.es/m/1672760457.940462079%40f306.i.mail.ru --- src/backend/utils/adt/jsonpath_exec.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/backend/utils/adt/jsonpath_exec.c') diff --git a/src/backend/utils/adt/jsonpath_exec.c b/src/backend/utils/adt/jsonpath_exec.c index 8372863de74..50fa724b728 100644 --- a/src/backend/utils/adt/jsonpath_exec.c +++ b/src/backend/utils/adt/jsonpath_exec.c @@ -1674,6 +1674,9 @@ executeBoolItem(JsonPathExecContext *cxt, JsonPathItem *jsp, JsonPathBool res; JsonPathBool res2; + /* since this function recurses, it could be driven to stack overflow */ + check_stack_depth(); + if (!canHaveNext && jspHasNext(jsp)) elog(ERROR, "boolean jsonpath item cannot have next item"); -- cgit v1.2.3