Re: bug in pgcrypto 0.3
От | Marko Kreen |
---|---|
Тема | Re: bug in pgcrypto 0.3 |
Дата | |
Msg-id | 20010512105129.A18454@l-t.ee обсуждение исходный текст |
Ответы |
Re: Re: bug in pgcrypto 0.3
|
Список | pgsql-hackers |
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 @@uintb64_enc_len(uint srclen){ - return srclen + (srclen / 3) + (srclen / (76 / 2)); + return srclen + (srclen + 2 / 3) + (srclen / (76 / 2)) + 2;}uint
В списке pgsql-hackers по дате отправления: