fix-resource-leak-be-secure-common.patch

application/octet-stream

Filename: fix-resource-leak-be-secure-common.patch
Type: application/octet-stream
Part: 0
Message: Fix resource leak (src/backend/libpq/be-secure-common.c)

Patch

Format: unified
File+
src/backend/libpq/be-secure-common.c 5 1
diff --git a/src/backend/libpq/be-secure-common.c b/src/backend/libpq/be-secure-common.c
index 0582606192..a67a5e8619 100644
--- a/src/backend/libpq/be-secure-common.c
+++ b/src/backend/libpq/be-secure-common.c
@@ -85,12 +85,16 @@ run_ssl_passphrase_command(const char *prompt, bool is_server_start, char *buf,
 	}
 	else if (pclose_rc != 0)
 	{
+		const char * reason;
+
 		explicit_bzero(buf, size);
+		reason = wait_result_to_str(pclose_rc);
 		ereport(loglevel,
 				(errcode_for_file_access(),
 				 errmsg("command \"%s\" failed",
 						command),
-				 errdetail_internal("%s", wait_result_to_str(pclose_rc))));
+				 errdetail_internal("%s", reason)));
+		pfree(reason);
 		goto error;
 	}