Re: [BUGS] libpq causes segfault when share library unloaded
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Jim Studt <jim@federated.com>
Cc: pgsql-bugs@postgresql.org
Date: 1999-11-05T01:16:38Z
Lists: pgsql-bugs
Jim Studt <jim@federated.com> writes: > libpq will define an environment variable for PGCLIENTENCODING if > none is specified. If libpq is a shared library that is dynamically > loaded, and it is subsequently unloaded then it leaves an entry in > the environ array pointing into unmapped memory which will cause > a segfault the next time the environment array is traversed. Hmm. Dynamically unloading a library can cause all sorts of problems, of course, but the particular code you're complaining of is pretty bletcherous anyway --- it's using a fixed-size buffer which seems mighty risky. I'm inclined to make it put the putenv() string into a malloc'd buffer instead. Would that solve the problem in your environment? regards, tom lane