BUG #3867: PQconnectdb(NULL) cores instead of errors.

Started by Ken Lorberover 18 years ago2 messagesbugs
Jump to latest
#1Ken Lorber
keni@stacksafe.com

The following bug has been logged online:

Bug reference: 3867
Logged by: Ken Lorber
Email address: keni@stacksafe.com
PostgreSQL version: 8.3beta4
Operating system: Mac OSX
Description: PQconnectdb(NULL) cores instead of errors.
Details:

PQconnectdb(NULL) cores in strdup() in interfaces/libpq/fe-connect.c:3091
(conninfo_parse). Throwing an error would be more useful.

To reproduce:
1) configure, make, make install
2) set conninfo = NULL at line 38 of src/test/examples/testlibpq.c
3) make testlibpq
4) ./testlibpq
result should be a core or bus error or similar fatal error

gdb shows:
0x90013413 in strdup ()
(gdb) where
#0 0x90013413 in strdup ()
#1 0x0001cc37 in conninfo_parse ()
#2 0x0001d679 in connectOptions1 ()
#3 0x0001d9a1 in PQconnectStart ()
#4 0x0001d9e4 in PQconnectdb ()
#5 0x00001c2e in main ()

Thanks!

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ken Lorber (#1)
Re: BUG #3867: PQconnectdb(NULL) cores instead of errors.

"Ken Lorber" <keni@stacksafe.com> writes:

PQconnectdb(NULL) cores in strdup() in interfaces/libpq/fe-connect.c:3091
(conninfo_parse). Throwing an error would be more useful.

99% of library routines will core if you pass them a null for an
argument that that's not specifically documented to be allowed for.
If you're expecting otherwise, you should adjust your expectations.

regards, tom lane