[apparmor] [Patch] [Parser] Fix bare include keyword

John Johansen john.johansen at canonical.com
Sat Jun 27 23:09:58 UTC 2015


On 06/26/2015 11:33 PM, Steve Beattie wrote:
> On Fri, Jun 26, 2015 at 10:42:24PM -0600, John Johansen wrote:
>> On 06/24/2015 01:31 PM, Steve Beattie wrote:
>>> On Wed, Jun 17, 2015 at 02:41:30AM -0700, John Johansen wrote:
>>>> Fix the regression that caused using 'include' instead of '#include' for
>>>> includes to stop working.
>>>>
>>>> Signed-off-by: John Johansen <john.johansen at canonical.com>
>>>>
>>>> diff --git a/parser/parser_lex.l b/parser/parser_lex.l
>>>> index 5af788a..974548d 100644
>>>> --- a/parser/parser_lex.l
>>>> +++ b/parser/parser_lex.l
>>>> @@ -517,7 +517,7 @@ LT_EQUAL	<=
>>>>  	}
>>>>  }
>>>>  
>>>> -#include/.*\r?\n	{
>>>> +#?include/.*\r?\n	{
>>>>  	/* Don't use PUSH() macro here as we don't want #include echoed out.
>>>>  	 * It needs to be handled specially
>>>>  	 */ 
>>>
>>> While I'm not rescinding my ack, this does introduce a new flex warning:
>>>
>>> parser_lex.l:519: warning, dangerous trailing context
>>>
>> thanks for catching that, I missed it completely and it is not good and worth
>> a nak
> 
> Well, cue up my rant about the default build being too verbose, making
> it too easy to miss added warnings like that (yes, we still need the
> possibility of verbose builds for builds in not-easily-debuggable
> environments like distro build environments).
> 
>> below is a fixed patch
>>
>>     Fix bare include keyword
>>     
>>     Fix the regression that caused using 'include' instead of '#include' for
>>     includes to stop working.
>>     
>>     Signed-off-by: John Johansen <john.johansen at canonical.com>
> 
> Acked-by: Steve Beattie <steve at nxnw.org> for both trunk and 2.9.
> 
> I tried for a bit to come up with a single regex that would match
> without triggering the warning, but the only way I found that
> eliminated it was duplicating the rule like you did, which I'm not
> terribly thrilled about, but... *shrug*
> 
yeah, its the tailing conditional context (the /.*\r?\n). I couldn't
find a regex would work with that either.



More information about the AppArmor mailing list