From 175efbf3ae21962b8306edaff699d2e9dc846772 Mon Sep 17 00:00:00 2001 From: Nicolas Iooss Date: Sun, 24 Sep 2017 19:04:55 +0200 Subject: [PATCH] sepolicy: ignore comments and empty lines in file_contexts.subs_dist In refpolicy, file_contexts.subs_dist begins with comments: # This file can is used to configure base path aliases as in: # # /aliased_path /original_path_as_configured_in_file_contexts # The first line gets parsed in read_file_equiv even though it is not a valid path substitution and the second line triggers an exception when accessing f[1]: IndexError: list index out of range Parse substitutions only for lines which are not comment. Signed-off-by: Nicolas Iooss --- python/sepolicy/sepolicy/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/sepolicy/sepolicy/__init__.py b/python/sepolicy/sepolicy/__init__.py index d41fc6ae..bf2494a8 100644 --- a/python/sepolicy/sepolicy/__init__.py +++ b/python/sepolicy/sepolicy/__init__.py @@ -526,10 +526,10 @@ def find_entrypoint_path(exe, exclude_list=[]): def read_file_equiv(edict, fc_path, modify): try: with open(fc_path, "r") as fd: - fc = fd.readlines() - for e in fc: + for e in fd: f = e.split() - edict[f[0]] = {"equiv": f[1], "modify": modify} + if f and not f[0].startswith('#'): + edict[f[0]] = {"equiv": f[1], "modify": modify} except OSError as e: if e.errno != errno.ENOENT: raise