aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/arrayfuncs.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2004-06-08 20:28:29 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2004-06-08 20:28:29 +0000
commit112403ba719adfe6a22bcac139d1914633c58392 (patch)
treeac7d756b38c5602634c8251f8d8164b740322203 /src/backend/utils/adt/arrayfuncs.c
parent619b560c84adddafa442d2aad5b13ef8ccc8c873 (diff)
downloadpostgresql-112403ba719adfe6a22bcac139d1914633c58392.tar.gz
postgresql-112403ba719adfe6a22bcac139d1914633c58392.zip
Add missing check for too-few-inputs when replacing a zero-dimensional
array.
Diffstat (limited to 'src/backend/utils/adt/arrayfuncs.c')
-rw-r--r--src/backend/utils/adt/arrayfuncs.c8
1 files changed, 7 insertions, 1 deletions
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);
}