OSDN Git Service

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

index 4a327fd..e238aab 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++)
        {