Hi,
Of course, I don't know if it's the best solution, but it's the most obvious.
Or the test at line 3326 is irrelavant.
\backend\tcop\postgres.c
if (stack_depth > max_stack_depth_bytes &&
stack_base_ptr != NULL)
return true;
Otherwise, if is relevant, substraction with NULL pointer is technically,undefined behavior..
Best regards.
Ranier Vilela
--- \dll\postgresql\a\backend\tcop\postgres.c 2019-11-23 13:19:20.000000000 -0300
+++ postgres.c 2019-11-24 11:13:34.131437500 -0300
@@ -3303,7 +3303,10 @@
/*
* Compute distance from reference point to my local variables
*/
- stack_depth = (long) (stack_base_ptr - &stack_top_loc);
+ if (stack_base_ptr != NULL)
+ stack_depth = (long) (stack_base_ptr - &stack_top_loc);
+ else
+ stack_depth = (long) &stack_top_loc;
/*
* Take abs value, since stacks grow up on some machines, down on others