Thread: Re: [PATCHES] Fix for psql core dumping on bad user
D. Hageman writes: > The postgresql interactive terminal will dump core on any script that is > run via the -f command line option if their exists a connect line without > a valid user. An example connect line is in one of the attached files. Okay, I've found the problem. When the connection fails, psql momentarily runs without a valid database connection. When it does that, the multibyte encoding has the invalid value -1. (You need to compile with multibyte enabled to reproduce this.) With that value, PQmblen() has trouble when it parses the next line. Perhaps PQmblen() should simply return 1 when it is passed an invalid encoding. In any case it should do better than dump core. -- Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter
> D. Hageman writes: > > > The postgresql interactive terminal will dump core on any script that is > > run via the -f command line option if their exists a connect line without > > a valid user. An example connect line is in one of the attached files. > > Okay, I've found the problem. When the connection fails, psql momentarily > runs without a valid database connection. When it does that, the > multibyte encoding has the invalid value -1. (You need to compile with > multibyte enabled to reproduce this.) With that value, PQmblen() has > trouble when it parses the next line. Perhaps PQmblen() should simply > return 1 when it is passed an invalid encoding. In any case it should do > better than dump core. Will fix. Also I will change the "invalid" encoding to a default i.e. SQL_ASCII, not -1. -- Tatsuo Ishii