Re: crypt function crash on postgresql 9.3.20 and 10 - Mailing list pgsql-bugs

From Michael
Subject Re: crypt function crash on postgresql 9.3.20 and 10
Date
Msg-id 20180202214746.10221aea@ahpeb
Whole thread Raw
In response to Re: crypt function crash on postgresql 9.3.20 and 10  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-bugs
В Fri, 2 Feb 2018 08:29:08 -0700
"David G. Johnston" <david.g.johnston@gmail.com> пишет:

> On Fri, Feb 2, 2018 at 8:24 AM, Rainer Pruy <Rainer.Pruy@acrys.com>
> wrote:
>
> >
> > On 02.02.2018 15:58, Михаил Манерко wrote:
> >
> > 02.02.2018 17:55, David G. Johnston пишет:
> >
> > On Fri, Feb 2, 2018 at 7:50 AM, Pavan Teja
> > <pavan.postgresdba@gmail.com> wrote:
> >
> >>
> >>
> >> On Feb 2, 2018 8:15 PM, "Mike Porter" <mike@udel.edu> wrote:
> >>
> >> On Fri, 2 Feb 2018, Михаил Манерко wrote:
> >>
> >> If you send an asterisk in the crypt function, the function
> >> crashes.
> >>>
> >>>
> >>> example
> >>>
> >>> i=# select crypt('123','*');
> >>> ОШИБКА:  invalid salt
> >>> i=#
> >>>
> >>
> >>
> > function takes the text parameter
> > Should it fall from a 1-character long text?
> >
> >
> > Yes, exactly!
> > This is similar to calling "sqrt(-1)". The parameter is invalid for
> > the function, such thatthe function can not be performed.
> >
>
> ​Right.
>
> Functions generally (rarely, never) have domain types created for
> them that would prevent invalid input values from even being
> created.  Defining constraints on input values is usually left up to
> the documentation.  In this case the documentation describes how to
> properly use the function. Used properly a single-character long text
> string should never be input into the function - so it wasn't deemed
> necessary to document that if one supplies such a string incorrectly
> that the function will error out.  That seems like a reasonable
> decision (intentional or otherwise).
>
> David J.

However, in a postgresql 9.3.2, such a call does not lead to an error.
how then should the function respond to a call
select crypt('123',NULL);
this does not cause an error



pgsql-bugs by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: crypt function crash on postgresql 9.3.20 and 10
Next
From: "David G. Johnston"
Date:
Subject: Re: crypt function crash on postgresql 9.3.20 and 10