From 32af13f03d7d7ac3b0664800e707b3765005490c Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Tue, 8 Jun 2004 20:28:21 +0000
Subject: [PATCH] Add missing check for too-few-inputs when replacing a
 zero-dimensional array.

---
 src/backend/utils/adt/arrayfuncs.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/backend/utils/adt/arrayfuncs.c b/src/backend/utils/adt/arrayfuncs.c
index 6511efb3561..62361932f98 100644
--- a/src/backend/utils/adt/arrayfuncs.c
+++ b/src/backend/utils/adt/arrayfuncs.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/adt/arrayfuncs.c,v 1.103 2004/06/06 00:41:27 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/adt/arrayfuncs.c,v 1.104 2004/06/08 20:28:21 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1837,6 +1837,12 @@ array_set_slice(ArrayType *array,
 			lb[i] = lowerIndx[i];
 		}
 
+		/* complain if too few source items; we ignore extras, however */
+		if (nelems < ArrayGetNItems(nSubscripts, dim))
+			ereport(ERROR,
+					(errcode(ERRCODE_ARRAY_SUBSCRIPT_ERROR),
+					 errmsg("source array too small")));
+
 		return construct_md_array(dvalues, nSubscripts, dim, lb, elmtype,
 								  elmlen, elmbyval, elmalign);
 	}
-- 
GitLab