Re: BUG #1270: stack overflow in thread in fe_getauthname - Mailing list pgsql-bugs

From Bruce Momjian
Subject Re: BUG #1270: stack overflow in thread in fe_getauthname
Date
Msg-id 200409280005.i8S05K115885@candle.pha.pa.us
Whole thread Raw
In response to Re: BUG #1270: stack overflow in thread in fe_getauthname  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Oops.  Yep, that is sloppy programming on our part, perhaps my part if I
> > added those.  Anyway, patch attached and applied. I used the proper
> > struct sizes instead of BUFSIZ.
>
> You just broke it.
>
> Those buffers are not used to hold struct passwd's, but to hold
> multiple character strings to which the struct passwd will point;
> any one of which could be long, but particularly the home directory
> path.
>
> My man page for getpwuid_r says that the minimum recommended buffer size
> is 1024.
>
> > This will be in 8.0.
>
> I think we should revert it entirely.  A small buffer size risks
> breaking things unnecessarily, and as I replied earlier, the request
> to make libpq run in a less-than-8K stack is not reasonable anyway.

Reverted.  I forgot about the requirement to store pointers used by the
structure.  I knew that when doing the thread patches but forgot about
it.

--
  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

pgsql-bugs by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: BUG #1270: stack overflow in thread in fe_getauthname
Next
From: "PostgreSQL Bugs List"
Date:
Subject: BUG #1271: Installation problems (cannot execute initdb.exe)