summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--win32/wsyslog.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/win32/wsyslog.c b/win32/wsyslog.c
index 6b0f03e8ea..73f9969a78 100644
--- a/win32/wsyslog.c
+++ b/win32/wsyslog.c
@@ -66,7 +66,7 @@ void closelog(void)
PW32G(log_source) = INVALID_HANDLE_VALUE;
}
if (PW32G(log_header)) {
- efree(PW32G(log_header));
+ free(PW32G(log_header));
PW32G(log_header) = NULL;
}
}
@@ -112,7 +112,6 @@ void syslog(int priority, const char *message, ...)
efree(tmp);
}
-
/* Emulator for BSD openlog() routine
* Accepts: identity
* options
@@ -121,11 +120,14 @@ void syslog(int priority, const char *message, ...)
void openlog(const char *ident, int logopt, int facility)
{
+ size_t header_len;
closelog();
PW32G(log_source) = RegisterEventSource(NULL, "PHP-" PHP_VERSION);
- spprintf(&PW32G(log_header), 0, (logopt & LOG_PID) ? "%s[%d]" : "%s", ident, getpid());
+ header_len = strlen(ident) + 2 + 11;
+ PW32G(log_header) = malloc(header_len*sizeof(char));
+ sprintf_s(PW32G(log_header), header_len, (logopt & LOG_PID) ? "%s[%d]" : "%s", ident, getpid());
}
/*