diff options
-rw-r--r-- | win32/wsyslog.c | 8 |
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()); } /* |