diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index 5434826..59d8a83 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -1197,7 +1197,7 @@ static void
logfile_rotate(bool time_based_rotation, int size_rotation_for)
{
char *filename;
- char *csvfilename = NULL;
+ char *csvfilename;
pg_time_t fntime;
FILE *fh;
bool rotate_csvlog;
@@ -1214,9 +1214,6 @@ logfile_rotate(bool time_based_rotation, int size_rotation_for)
fntime = next_rotation_time;
else
fntime = time(NULL);
- filename = logfile_getname(fntime, NULL);
- if (csvlogFile != NULL)
- csvfilename = logfile_getname(fntime, ".csv");
/*
* Decide whether to overwrite or append. We can overwrite if (a)
@@ -1230,6 +1227,8 @@ logfile_rotate(bool time_based_rotation, int size_rotation_for)
(size_rotation_for & LOG_DESTINATION_STDERR);
if (rotate_stderr)
{
+ filename = logfile_getname(fntime, NULL);
+
if (Log_truncate_on_rotation && time_based_rotation &&
last_file_name != NULL &&
strcmp(filename, last_file_name) != 0)
@@ -1252,10 +1251,7 @@ logfile_rotate(bool time_based_rotation, int size_rotation_for)
rotation_disabled = true;
}
- if (filename)
- pfree(filename);
- if (csvfilename)
- pfree(csvfilename);
+ pfree(filename);
return;
}
@@ -1266,7 +1262,6 @@ logfile_rotate(bool time_based_rotation, int size_rotation_for)
if (last_file_name != NULL)
pfree(last_file_name);
last_file_name = filename;
- filename = NULL;
}
/* Same as above, but for csv file. */
@@ -1274,6 +1269,9 @@ logfile_rotate(bool time_based_rotation, int size_rotation_for)
(time_based_rotation || (size_rotation_for & LOG_DESTINATION_CSVLOG));
if (rotate_csvlog)
{
+ if (csvlogFile != NULL)
+ csvfilename = logfile_getname(fntime, ".csv");
+
if (Log_truncate_on_rotation && time_based_rotation &&
last_csv_file_name != NULL &&
strcmp(csvfilename, last_csv_file_name) != 0)
@@ -1296,10 +1294,7 @@ logfile_rotate(bool time_based_rotation, int size_rotation_for)
rotation_disabled = true;
}
- if (filename)
- pfree(filename);
- if (csvfilename)
- pfree(csvfilename);
+ pfree(csvfilename);
return;
}
@@ -1310,15 +1305,10 @@ logfile_rotate(bool time_based_rotation, int size_rotation_for)
if (last_csv_file_name != NULL)
pfree(last_csv_file_name);
last_csv_file_name = csvfilename;
- csvfilename = NULL;
}
if (rotate_stderr || rotate_csvlog)
logfile_writename();
- if (filename)
- pfree(filename);
- if (csvfilename)
- pfree(csvfilename);
set_next_rotation_time();
}