BUG #2059: PGConnect fails when used in a thread
The following bug has been logged online:
Bug reference: 2059
Logged by: Chris Storah
Email address: chris.storah@orionsmg.com
PostgreSQL version: 8.0.3
Operating system: Linux - Fedora Core 4 x86_64 version
Description: PGConnect fails when used in a thread
Details:
fe-connect.c in the src/interfaces/libpq directory is segfaulting when a
PQconnectdb is called from a thread (works when called from the main
application).
fe-connect.c - parseServiceInfo is failing because no service option is
being used in the connection string so service is NULL. The line that fails
is the 'snprintf(serviceFile, MAXPGPATH, "%s/pg_service.conf", ...) line. If
this is moved into the 'if (service != NULL)' section of code, everything
works fine (as it is never called when no service is specified).
"Chris Storah" <chris.storah@orionsmg.com> writes:
fe-connect.c - parseServiceInfo is failing because no service option is
being used in the connection string so service is NULL. The line that fails
is the 'snprintf(serviceFile, MAXPGPATH, "%s/pg_service.conf", ...) line.
Huh? That statement doesn't use 'service', so your analysis makes no
sense. I agree it's a bit inefficient as coded, but I can't see that it
would crash. You have other problems to look for.
regards, tom lane