Re: [msysGit] [PATCH v3 02/14] mingw: implement syslog
From: Erik Faye-Lund <hidden>
Date: 2016-06-15 22:49:45
On Mon, Oct 11, 2010 at 1:20 AM, Eric Sunshine [off-list ref] wrote:
On 10/10/2010 6:16 PM, Erik Faye-Lund wrote:quoted
On Sun, Oct 10, 2010 at 11:28 PM, Eric Sunshine[off-list ref] wrote:quoted
(On the other hand, for the '%s' check above, the code does report a warning and then exits, so it is not inconceivable that a '%n' could also emit a warning.)I guess I could add something like this: if (strstr(arg, "%1")) warning("arg contains %1, message might be corrupted"); I don't want to return in that case, because I think some output is better than no output, and it seems to work on Vista.Rather than emitting a warning, it might be reasonable to perform a simple transformation on the string if it contains a %1 (or %n generally) in order to avoid ReportEvent()'s shortcoming. Even something as simple as inserting a space between '%' and '1' might be sufficiently defensive.
Yes, but I'm tempted to defer fixing this until we see that it's a problem in reality. The logic to somehow escape such sequences looks a bit nasty in my head. But perhaps strbuf_expand() is the right hammer for this use... Then the logical next question becomes what we should expand it to. Does "%1" -> "% 1" make sense for IPv6 addresses?