Re: [msysGit] [PATCH v3 02/14] mingw: implement syslog
From: Eric Sunshine <hidden>
Date: 2016-06-15 22:49:45
On 10/10/2010 9:20 AM, Erik Faye-Lund wrote:
From: Mike Pape<redacted>
Syslog does not usually exist on Windows, so we implement our own
using Window's ReportEvent mechanism.
Signed-off-by: Mike Pape<redacted>
Signed-off-by: Erik Faye-Lund<redacted>
---
+void syslog(int priority, const char *fmt, const char *arg)
+{
+ WORD logtype;
+
+ if (!ms_eventlog)
+ return;
+
+ if (strcmp(fmt, "%s")) {
+ warning("format string of syslog() not implemented");
+ return;
+ }It is not exactly clear what the intention is here. Is this trying to say that no formatting directives are allowed in 'fmt' or what? The simple case it is actually checking (where 'fmt' is solely '%s') could easily be handled manually, as could more complex formats.
+ /* + * ReportEvent() doesn't handle strings containing %n, where n is + * an integer. Such events must be reformatted by the caller. + */ + ReportEventA(ms_eventlog, + logtype, + 0, + 0, + NULL, + 1, + 0, + (const char **)&arg, + NULL);
The comment about '%n' seems to be warning about a potential problem but does not actually protect against it. Should this issue be handled? -- ES