summaryrefslogtreecommitdiff
path: root/src/backend/commands/trigger.c
diff options
context:
space:
mode:
authorRobert Haas2014-10-24 12:17:00 +0000
committerRobert Haas2014-10-24 12:18:28 +0000
commit85bb81de530aed08888f4fc3dec85c5cfbd3befd (patch)
tree1efaa0694e48859acfa6d9929e71a84ddcdba1ba /src/backend/commands/trigger.c
parent3c2aa0c6f27fc921c881b3bf0b6df03fdf557304 (diff)
Fix off-by-one error in 2781b4bea7db357be59f9a5fd73ca1eb12ff5a79.
Spotted by Tom Lane.
Diffstat (limited to 'src/backend/commands/trigger.c')
-rw-r--r--src/backend/commands/trigger.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c
index 1db066681bc..31a5411140d 100644
--- a/src/backend/commands/trigger.c
+++ b/src/backend/commands/trigger.c
@@ -4332,7 +4332,7 @@ AfterTriggerEnlargeQueryState(void)
if (afterTriggers.maxquerydepth == 0)
{
- int new_alloc = Max(afterTriggers.query_depth, 8);
+ int new_alloc = Max(afterTriggers.query_depth + 1, 8);
afterTriggers.query_stack = (AfterTriggerEventList *)
MemoryContextAlloc(TopTransactionContext,
@@ -4346,7 +4346,8 @@ AfterTriggerEnlargeQueryState(void)
{
/* repalloc will keep the stack in the same context */
int old_alloc = afterTriggers.maxquerydepth;
- int new_alloc = Max(afterTriggers.query_depth, old_alloc * 2);
+ int new_alloc = Max(afterTriggers.query_depth + 1,
+ old_alloc * 2);
afterTriggers.query_stack = (AfterTriggerEventList *)
repalloc(afterTriggers.query_stack,