From e4db972ed5f12c09403ff0be24e12e5d4032aaaa Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Thu, 21 May 2020 15:49:20 +0900 Subject: [PATCH] Use explicit_bzero() when clearing sslpassword in libpq Since 74a308c, any security-sensitive information gets cleared from memory this way. This was forgotten in 4dc6355. Author: Daniel Gustafsson Reviewed-by: Peter Eisentraut, Michael Paquier Discussion: https://postgr.es/m/935443BA-D42E-4CE0-B181-1AD79E6DD45A@yesql.se --- src/interfaces/libpq/fe-connect.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index d5da6dce1e6..ae4a32e45b2 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -4037,7 +4037,10 @@ freePGconn(PGconn *conn) if (conn->sslkey) free(conn->sslkey); if (conn->sslpassword) + { + explicit_bzero(conn->sslpassword, strlen(conn->sslpassword)); free(conn->sslpassword); + } if (conn->sslrootcert) free(conn->sslrootcert); if (conn->sslcrl)