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

From Tom Lane
Subject Re: BUG #1270: stack overflow in thread in fe_getauthname
Date
Msg-id 8336.1096329355@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #1270: stack overflow in thread in fe_getauthname  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: BUG #1270: stack overflow in thread in fe_getauthname
List pgsql-bugs
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.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #1270: stack overflow in thread in fe_getauthname
Next
From: Bruce Momjian
Date:
Subject: Re: BUG #1270: stack overflow in thread in fe_getauthname