Thread (43 messages) flat view 43 messages, 5 authors, 2016-06-15

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help