postgresql/contrib/pgcrypto
Michael Paquier 57bdf29dd5 Fix potential memory leak in pgcrypto
When allocating a EVP context, it would have been possible to leak some
memory allocated directly by OpenSSL, that PostgreSQL lost track of if
the initialization of the context allocated failed.  The cleanup can be
done with EVP_MD_CTX_destroy().

Note that EVP APIs exist since OpenSSL 0.9.7 and we have in the tree
equivalent implementations for older versions since ce9b75d (code
removed with 9b7cd59a as of 10~).  However, in 9.5 and 9.6, the existing
code makes use of EVP_MD_CTX_destroy() and EVP_MD_CTX_create() without
an equivalent implementation when building the tree with OpenSSL 0.9.6
or older, meaning that this code is in reality broken with such versions
since it got introduced in e2838c5.  As we have heard no complains about
that, it does not seem worth bothering with in 9.5 and 9.6, so I have
left that out for simplicity.

Author: Michael Paquier
Discussion: https://postgr.es/m/20201015072212.GC2305@paquier.xyz
Backpatch-through: 9.5
2020-10-19 09:37:55 +09:00
..
expected Fix corner case with 16kB-long decompression in pgcrypto, take 2 2020-07-27 15:58:59 +09:00
sql Fix corner case with 16kB-long decompression in pgcrypto, take 2 2020-07-27 15:58:59 +09:00
.gitignore Support SCRAM-SHA-256 authentication (RFC 5802 and 7677). 2017-03-07 14:25:40 +02:00
blf.c
blf.h
crypt-blowfish.c Get rid of trailing semicolons in C macro definitions. 2020-05-01 17:28:00 -04:00
crypt-des.c Fix many typos and inconsistencies 2019-07-01 10:00:23 +09:00
crypt-gensalt.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
crypt-md5.c Add missing error check in pgcrypto/crypt-md5.c. 2020-10-16 11:59:31 -04:00
imath.c Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
imath.h Initial pgindent run for v12. 2019-05-22 12:55:34 -04:00
internal-sha2.c Refactor SHA2 functions and move them to src/common/. 2017-03-07 14:23:49 +02:00
internal.c Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
Makefile Import changes from IMath versions (1.3, 1.29]. 2019-02-16 13:12:28 -08:00
mbuf.c Fix typos in comments. 2017-02-06 11:33:58 +02:00
mbuf.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
md5.c Resolve one unconstify use 2019-02-14 17:00:25 +01:00
md5.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
openssl.c Fix potential memory leak in pgcrypto 2020-10-19 09:37:55 +09:00
pgcrypto--1.0--1.1.sql
pgcrypto--1.1--1.2.sql
pgcrypto--1.2--1.3.sql
pgcrypto--1.3.sql Minor fixes in contrib installation scripts. 2016-06-14 10:47:06 -04:00
pgcrypto--unpackaged--1.0.sql
pgcrypto.c Remove configure switch --disable-strong-random 2019-01-01 20:05:51 +09:00
pgcrypto.control
pgcrypto.h Remove unnecessary prototypes 2016-09-30 14:04:16 -04:00
pgp-armor.c Rename base64 routines to avoid conflict with Solaris built-in functions. 2018-02-28 18:33:45 -05:00
pgp-cfb.c
pgp-compress.c Fix corner case with 16kB-long decompression in pgcrypto, take 2 2020-07-27 15:58:59 +09:00
pgp-decrypt.c Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
pgp-encrypt.c Remove configure switch --disable-strong-random 2019-01-01 20:05:51 +09:00
pgp-info.c
pgp-mpi-internal.c Remove configure switch --disable-strong-random 2019-01-01 20:05:51 +09:00
pgp-mpi-openssl.c Fix typos in comments. 2017-02-06 11:33:58 +02:00
pgp-mpi.c
pgp-pgsql.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
pgp-pubdec.c
pgp-pubenc.c Remove configure switch --disable-strong-random 2019-01-01 20:05:51 +09:00
pgp-pubkey.c
pgp-s2k.c Remove configure switch --disable-strong-random 2019-01-01 20:05:51 +09:00
pgp.c
pgp.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
px-crypt.c Remove configure switch --disable-strong-random 2019-01-01 20:05:51 +09:00
px-crypt.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
px-hmac.c
px.c Remove configure switch --disable-strong-random 2019-01-01 20:05:51 +09:00
px.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
rijndael.c Fix a boatload of typos in C comments. 2018-04-01 15:01:28 -04:00
rijndael.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
rijndael.tbl
sha1.c Initial pgindent run with pg_bsd_indent version 2.0. 2017-06-21 14:39:04 -04:00
sha1.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00