From 32af13f03d7d7ac3b0664800e707b3765005490c Mon Sep 17 00:00:00 2001 From: Tom Lane 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 6511efb356..62361932f9 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); }