Re: FUNC_MAX_ARGS benchmarks

Bruce Momjian <pgman@candle.pha.pa.us>

From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Neil Conway <nconway@klamath.dyndns.org>
Cc: Christopher Kings-Lynne <chriskl@familyhealth.com.au>, Joe Conway <mail@joeconway.com>, Tom Lane <tgl@sss.pgh.pa.us>, Thomas Lockhart <lockhart@fourpalms.org>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2002-08-13T21:03:26Z
Lists: pgsql-hackers
Good question.  Looked like a possible buffer overrun to me.  Of course,
I botched it up.  I will fix it.

---------------------------------------------------------------------------

Neil Conway wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > I have applied the attached patch which changes NAMEDATALEN to 64 and
> > FUNC_MAX_ARGS/INDEX_MAX_KEYS to 32.
> 
> What is the reasoning behind the following change?
> 
> Index: src/bin/psql/command.c
> ===================================================================
> RCS file: /cvsroot/pgsql-server/src/bin/psql/command.c,v
> retrieving revision 1.75
> diff -c -r1.75 command.c
> *** src/bin/psql/command.c	10 Aug 2002 03:56:23 -0000	1.75
> --- src/bin/psql/command.c	13 Aug 2002 20:18:01 -0000
> ***************
> *** 1513,1519 ****
>   	sys = malloc(strlen(editorName) + strlen(fname) + 32 + 1);
>   	if (!sys)
>   		return false;
> ! 	sprintf(sys, "exec %s %s", editorName, fname);
>   	result = system(sys);
>   	if (result == -1)
>   		psql_error("could not start editor %s\n", editorName);
> --- 1513,1519 ----
>   	sys = malloc(strlen(editorName) + strlen(fname) + 32 + 1);
>   	if (!sys)
>   		return false;
> ! 	snprintf(sys, 32, "exec %s %s", editorName, fname);
>   	result = system(sys);
>   	if (result == -1)
>   		psql_error("could not start editor %s\n", editorName);
> 
> Cheers,
> 
> Neil
> 
> -- 
> Neil Conway <neilconway@rogers.com>
> PGP Key ID: DB3C29FC
> 
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073