]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Add missing check for too-few-inputs when replacing a zero-dimensional
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 8 Jun 2004 20:28:29 +0000 (20:28 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 8 Jun 2004 20:28:29 +0000 (20:28 +0000)
array.

src/backend/utils/adt/arrayfuncs.c

index e55d1b7687219fb4ceca606e80b6e12ed0f80104..b415b67c52d680f4ab5136ef36846a9faa0e184b 100644 (file)
@@ -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);
        }