From ca944bd2d41814712cb4a4810ab4aa490f23a853 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Mon, 21 Apr 2003 15:19:55 +0000
Subject: [PATCH] Prevent palloc(0) error when parent table has zero columns.

---
 src/backend/commands/tablecmds.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index e22b48aef29..b4576893c66 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.70 2003/03/21 15:43:02 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/commands/tablecmds.c,v 1.71 2003/04/21 15:19:55 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -591,9 +591,10 @@ MergeAttributes(List *schema, List *supers, bool istemp,
 		 * newattno[] will contain the child-table attribute numbers for
 		 * the attributes of this parent table.  (They are not the same
 		 * for parents after the first one, nor if we have dropped
-		 * columns.)
+		 * columns.)  +1 is to prevent error if parent has zero columns.
 		 */
-		newattno = (AttrNumber *) palloc(tupleDesc->natts * sizeof(AttrNumber));
+		newattno = (AttrNumber *)
+			palloc((tupleDesc->natts + 1) * sizeof(AttrNumber));
 
 		for (parent_attno = 1; parent_attno <= tupleDesc->natts;
 			 parent_attno++)
-- 
GitLab