On Tue, Apr  2, 2013 at 08:48:53PM -0400, Bruce Momjian wrote:
> I found that psql will crash if given a PSQLRC value containing a tilde:
> 
>       $ PSQLRC="~/x" psql test
>       *** glibc detected *** psql: free(): invalid pointer: 
> 0x00007fffb7c933ec ***
> 
> This is on Debian Squeeze 6.0.7.  The fix is to pstrdup() the value
> returned by getenv(), so it can be free()'ed later --- you can't free
> getenv()-returned values:
> 
>        As typically implemented, getenv() returns a pointer to a string
>        within the environment list.  The caller must take care not to
>        modify this string, since that would change the environment of
>        the process.
> 
> This bug exists in 9.2 and git head.  I also removed the return value
> from expand_tilde() as no caller was using it.

Applied.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to