Thread: Re: [PATCHES] Fix for psql core dumping on bad user

Re: [PATCHES] Fix for psql core dumping on bad user

From
Peter Eisentraut
Date:
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



Re: Re: [PATCHES] Fix for psql core dumping on bad user

From
Tatsuo Ishii
Date:
> 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