diff options
author | Robert Haas | 2014-10-24 12:17:00 +0000 |
---|---|---|
committer | Robert Haas | 2014-10-24 12:18:28 +0000 |
commit | 85bb81de530aed08888f4fc3dec85c5cfbd3befd (patch) | |
tree | 1efaa0694e48859acfa6d9929e71a84ddcdba1ba /src/backend/commands/trigger.c | |
parent | 3c2aa0c6f27fc921c881b3bf0b6df03fdf557304 (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.c | 5 |
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, |