summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2019-06-27 11:34:51 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2019-07-11 13:09:54 +0200
commitfa65f5ecf5d0539f15a3048bf8c073f4c262baf1 (patch)
treed9631a36f1523bc1f8cadfa403fdb3b8d210561c
parente7a83ec8dff962ea624508f18b9b10f5add030cc (diff)
downloadphp-git-fa65f5ecf5d0539f15a3048bf8c073f4c262baf1.tar.gz
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] <http://git.php.net/?p=php-src.git;a=commit;h=2475337bd8a0fad0dac03db3f5e7e9d331d53653>
-rw-r--r--NEWS1
-rw-r--r--win32/wsyslog.c4
2 files changed, 5 insertions, 0 deletions
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;