Re: Buffer overflow in psql - Mailing list pgsql-general

From Tom Lane
Subject Re: Buffer overflow in psql
Date
Msg-id 2008.1164215233@sss.pgh.pa.us
Whole thread Raw
In response to Buffer overflow in psql  (Jack Orenstein <jorenstein@archivas.com>)
Responses Re: Buffer overflow in psql  (Jack Orenstein <jorenstein@archivas.com>)
List pgsql-general
Jack Orenstein <jorenstein@archivas.com> writes:
> The problem has occurred again, and I've found a buffer overflow in
> psql that explains it. Here is code from src/bin/psql/common.c, from
> the PrintQueryResults function:

>         case PGRES_COMMAND_OK:
>             {
>                 char        buf[10];

>                 success = true;
>                 sprintf(buf, "%u", (unsigned int) PQoidValue(results));

Good catch!  What platform and compiler are you using exactly?  I'd
imagine that on most platforms, the size of that array is effectively
rounded up to 12 bytes due to alignment/padding considerations, which
would mask the mistake.  Yours must somehow be putting something
critical right after the array.

> 1) Is one of the postgresql developers willing to get this fix into
>     the next release? (We're patching our own 7.4.8 build.)

Yeah, we'll fix it.

            regards, tom lane

pgsql-general by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: MSSQL to PostgreSQL : Encoding problem
Next
From: John McCawley
Date:
Subject: Re: Data transfer between databases over the Internet