RemoveFunction didn't defend against too many args.
authorTom Lane
Wed, 12 Jan 2000 05:25:09 +0000 (05:25 +0000)
committerTom Lane
Wed, 12 Jan 2000 05:25:09 +0000 (05:25 +0000)
src/backend/commands/remove.c

index 4a327fde284b570341d41ca9a9da349b3f78d3ec..e238aab384db6d31926f02289f8b56641e224dca 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/commands/Attic/remove.c,v 1.43 2000/01/10 17:14:32 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/commands/Attic/remove.c,v 1.44 2000/01/12 05:25:09 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -320,7 +320,9 @@ RemoveFunction(char *functionName,      /* function name to be removed */
    char       *typename;
    int         i;
 
-
+   if (nargs > FUNC_MAX_ARGS)
+       elog(ERROR, "functions cannot have more than %d arguments",
+            FUNC_MAX_ARGS);
    MemSet(argList, 0, FUNC_MAX_ARGS * sizeof(Oid));
    for (i = 0; i < nargs; i++)
    {