From fa65f5ecf5d0539f15a3048bf8c073f4c262baf1 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 27 Jun 2019 11:34:51 +0200 Subject: [PATCH] Fix #78212: Segfault in built-in webserver Since syslog's ident and facility parameters have been added to config[1], vsyslog() segfaults on Windows, if openlog() has not been called before. We bring back the removed lines to fix this. [1] --- NEWS | 1 + win32/wsyslog.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/NEWS b/NEWS index f69a04a919..59e80108ff 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ PHP NEWS - Core: . Added syslog.filter=raw option. (Erik Lundin) + . Fixed bug #78212 (Segfault in built-in webserver). (cmb) - Date: . Fixed #69044 (discrepency between time and microtime). (krakjoe) diff --git a/win32/wsyslog.c b/win32/wsyslog.c index 695c7db8cd..9050b40381 100644 --- a/win32/wsyslog.c +++ b/win32/wsyslog.c @@ -95,6 +95,10 @@ void vsyslog(int priority, const char *message, va_list args) DWORD evid; wchar_t *strsw[2]; + /* default event source */ + if (INVALID_HANDLE_VALUE == PW32G(log_source)) + openlog("php", LOG_PID, LOG_SYSLOG); + switch (priority) { /* translate UNIX type into NT type */ case LOG_ALERT: etype = EVENTLOG_ERROR_TYPE; -- 2.50.0