Commit 5ee76ac8 authored by Bruce Momjian's avatar Bruce Momjian

> 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 :)

Marko Kreen
parent 904ba3ff
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $Id: encode.c,v 1.4 2001/03/22 03:59:10 momjian Exp $ * $Id: encode.c,v 1.5 2001/05/13 02:17:09 momjian Exp $
*/ */
#include "postgres.h" #include "postgres.h"
...@@ -349,7 +349,7 @@ hex_dec_len(uint srclen) ...@@ -349,7 +349,7 @@ hex_dec_len(uint srclen)
uint uint
b64_enc_len(uint srclen) b64_enc_len(uint srclen)
{ {
return srclen + (srclen / 3) + (srclen / (76 / 2)); return srclen + (srclen + 2 / 3) + (srclen / (76 / 2)) + 2;
} }
uint uint
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment