]> granicus.if.org Git - postgresql/commitdiff
Fix off-by-one error in 2781b4bea7db357be59f9a5fd73ca1eb12ff5a79.
authorRobert Haas <rhaas@postgresql.org>
Fri, 24 Oct 2014 12:17:00 +0000 (08:17 -0400)
committerRobert Haas <rhaas@postgresql.org>
Fri, 24 Oct 2014 12:18:28 +0000 (08:18 -0400)
Spotted by Tom Lane.

src/backend/commands/trigger.c

index 1db066681bcb848e9e3838fa65eb70f14660aec0..31a5411140d613f7f2712eb4c478e06316d21cea 100644 (file)
@@ -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,