From 112403ba719adfe6a22bcac139d1914633c58392 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 8 Jun 2004 20:28:29 +0000 Subject: 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(-) (limited to 'src/backend/utils/adt/arrayfuncs.c') diff --git a/src/backend/utils/adt/arrayfuncs.c b/src/backend/utils/adt/arrayfuncs.c index e55d1b76872..b415b67c52d 100644 --- a/src/backend/utils/adt/arrayfuncs.c +++ b/src/backend/utils/adt/arrayfuncs.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/arrayfuncs.c,v 1.100 2003/09/25 06:58:03 petere Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/arrayfuncs.c,v 1.100.2.1 2004/06/08 20:28:29 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1841,6 +1841,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); } -- cgit v1.2.3