Re: [msysGit] [PATCH v3 02/14] mingw: implement syslog
- From
Erik Faye-Lund <kusmabite@gmail.com>
- Date
- Oct 11, 2010, 15:28 UTC
- Message-ID
- <AANLkTi==sd=jm9LZ6p6NLVBMc4wnU0PrYvJY6ezGWiWt@mail.gmail.com>
- In-Reply-To
- <4CB24A43.9090501@gmail.com>
On Mon, Oct 11, 2010 at 1:20 AM, Eric Sunshine <ericsunshine@gmail.com> wrote:
Show 22 quoted lines
> On 10/10/2010 6:16 PM, Erik Faye-Lund wrote:
>>
>> On Sun, Oct 10, 2010 at 11:28 PM, Eric Sunshine<ericsunshine@gmail.com>
>> wrote:
>>> (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?