On Sat, Jun 27, 2015 at 9:51 AM, Noah Misch <noah@leadboat.com> wrote:
> PostgreSQL 9.5 adds a strxfrm() call in bttext_abbrev_convert(), which does
> not account for the Solaris bug. I wish to determine whether that bug is
> still relevant today. If you have access to Solaris with the is_IS.ISO8859-1
> locale installed (or root access to install it), please compile and run the
> attached test program on each Solaris version you have available. Reply here
> with the program's output. I especially need a report from Solaris 10, but
> reports from older and newer versions are valuable. Thanks.
I did consider this.
Sorry, but I must question the point of worrying about an ancient bug
in Solaris. When you have to worry about a standard library function
blithely writing past the end of a buffer, when its C89 era interface
must be passed the size of said buffer, where does it end?
This is not a portability concern, like checking for an INT_MAX return
value from strxfrm() on Windows. The Solaris issue is patently a bug
that existed in some particular release of the Solaris C stdlib many
years ago. The documented behavior of strxfrm() in that library was
surely not "We ignore the bufsize argument".
--
Peter Geoghegan