mirror of
https://github.com/postgres/postgres.git
synced 2025-11-09 06:21:09 +03:00
Fix memory leaks in error reporting with LOG level
When loglevel is set to LOG, allocated strings used in the error message would leak. Fix by explicitly pfreeing them. Author: Ranier Vilela <ranier.vf@gmail.com> Reviewed-by: Daniel Gustafsson <daniel@yesql.se> Reviewed-by: Michael Paquier <michael@paquier.xyz> Discussion: https://postgr.es/m/CAEudQAqMeE0AHcOsOzZx51Z0eiFJAjhBPRFt+Bxi3ETXWen7ig@mail.gmail.com
This commit is contained in:
@@ -85,12 +85,16 @@ run_ssl_passphrase_command(const char *prompt, bool is_server_start, char *buf,
|
||||
}
|
||||
else if (pclose_rc != 0)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user