pgcrypto: fix memory leak in openssl.c - Mailing list pgsql-patches

From Marko Kreen
Subject pgcrypto: fix memory leak in openssl.c
Date
Msg-id e51f66da0602171623j7a0d2c96l9b56196a4ffd6549@mail.gmail.com
Whole thread Raw
Responses Re: pgcrypto: fix memory leak in openssl.c  (Neil Conway <neilc@samurai.com>)
Re: pgcrypto: fix memory leak in openssl.c  ("Marko Kreen" <markokr@gmail.com>)
List pgsql-patches
pgcrypto crypt()/md5 and hmac() leak memory when compiled against
OpenSSL as openssl.c digest ->reset will do two DigestInit calls
against a context.  This happened to work with OpenSSL 0.9.6
but not with 0.9.7+.

Reason for the messy code was that I tried to avoid creating
wrapper structure to transport algorithm info and tried to use
OpenSSL context for it.  The fix is to create wrapper structure.

It also uses newer digest API to avoid memory allocations
on reset with newer OpenSSLs.

Attached are one patch for 7.3, 7.4, 8.0 branches and another
for 8.1 and HEAD.

Thanks to Daniel Blaisdell for reporting it.

--
marko

Attachment

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: record statement boundaries
Next
From: Peter Eisentraut
Date:
Subject: Re: win codepages 1253, 1254, 1255, 1257 and cleanup