Currently, mount rule preprocessor output is incorrect:

$ echo '/t { mount options=(rw,nosuid) /dev/sda3 -> /home, }' \
  | apparmor_parser -p
/t { mountmount =(rw,nosuid) /dev/sda3 -> /home, }

This is due to incorrect placement of DUMP_PREPROCESS in parser_lex.l

Signed-off-by: Tyler Hicks <[email protected]>
---
 parser/parser_lex.l | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/parser/parser_lex.l b/parser/parser_lex.l
index 1258b01..78ee0bf 100644
--- a/parser/parser_lex.l
+++ b/parser/parser_lex.l
@@ -286,6 +286,7 @@ LT_EQUAL    <=
                                 * as bison may have requested the next
                                 * token from the scanner
                                 */
+                               DUMP_PREPROCESS;
                                PDEBUG("conditional %s=\n", yytext);
                                yylval.id = processid(yytext, yyleng);
                                yy_push_state(EXTCOND_MODE);
@@ -704,7 +705,6 @@ LT_EQUAL    <=
                        case TOK_MOUNT:
                        case TOK_REMOUNT:
                        case TOK_UMOUNT:
-                               DUMP_PREPROCESS;
                                PDEBUG("Entering mount\n");
                                yy_push_state(MOUNT_MODE);
                                break;
-- 
1.8.1.2


-- 
AppArmor mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/apparmor

Reply via email to