Applied to 7.1.X and 7.2.
> On Sat, May 12, 2001 at 12:47:33AM -0400, Neil Conway wrote:
> > I've been experimenting with pgcrypto 0.3 (distributed with
> > Postgres 7.1.0), and I think I've found a bug.
> >
> > I compiled Pgcrypto with OpenSSL, using gcc 2.95.4 and
> > OpenSSL 0.9.6a (the latest Debian 'unstable' packages).
>
> > web=> select encode(digest('blah', 'sha1'), 'base64');
> > FATAL 1: pg_encode: overflow, encode estimate too small
> > pqReadData() -- backend closed the channel unexpectedly.
> > This probably means the backend terminated abnormally
> > before or while processing the request.
> > The connection to the server was lost. Attempting reset: Succeeded.
>
> > Is this a bug? Can it be fixed?
>
> This is a bug alright. And a silly one :)
>
> Thanks for reporting. For standalone package apply this
> patch with -p2.
>
> pgsql-hackers: this should get into REL7_1_STABLE.
>
> --
> marko
>
>
> Index: contrib/pgcrypto/encode.c
> ===================================================================
> RCS file: /home/projects/pgsql/cvsroot/pgsql/contrib/pgcrypto/encode.c,v
> retrieving revision 1.4
> diff -u -r1.4 encode.c
> --- contrib/pgcrypto/encode.c 2001/03/22 03:59:10 1.4
> +++ contrib/pgcrypto/encode.c 2001/05/12 08:28:50
> @@ -349,7 +349,7 @@
> uint
> b64_enc_len(uint srclen)
> {
> - return srclen + (srclen / 3) + (srclen / (76 / 2));
> + return srclen + (srclen + 2 / 3) + (srclen / (76 / 2)) + 2;
> }
>
> uint
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026