{
static bool openlog_done = false;
static unsigned long seq = 0;
- static int syslog_fac = LOG_LOCAL0;
int len = strlen(line);
if (!openlog_done)
{
+ int syslog_fac = LOG_LOCAL0;
+ char *syslog_ident;
+
if (strcasecmp(Syslog_facility, "LOCAL0") == 0)
syslog_fac = LOG_LOCAL0;
if (strcasecmp(Syslog_facility, "LOCAL1") == 0)
syslog_fac = LOG_LOCAL6;
if (strcasecmp(Syslog_facility, "LOCAL7") == 0)
syslog_fac = LOG_LOCAL7;
- openlog(Syslog_ident, LOG_PID | LOG_NDELAY, syslog_fac);
+ syslog_ident = strdup(Syslog_ident);
+ if (syslog_ident == NULL) /* out of memory already!? */
+ syslog_ident = "postgres";
+ openlog(syslog_ident, LOG_PID | LOG_NDELAY, syslog_fac);
openlog_done = true;
}