Re: [msysGit] [PATCH v3 02/14] mingw: implement syslog

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/10/2010 9:20 AM, Erik Faye-Lund wrote:
From: Mike Pape<dotzenlabs@xxxxxxxxx>

Syslog does not usually exist on Windows, so we implement our own
using Window's ReportEvent mechanism.

Signed-off-by: Mike Pape<dotzenlabs@xxxxxxxxx>
Signed-off-by: Erik Faye-Lund<kusmabite@xxxxxxxxx>
---
+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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]