diff mbox

[1/2] sepolicy: ignore comments and empty lines in file_contexts.subs_dist

Message ID 20170924170456.5531-1-nicolas.iooss@m4x.org (mailing list archive)
State Superseded
Headers show

Commit Message

Nicolas Iooss Sept. 24, 2017, 5:04 p.m. UTC
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 <nicolas.iooss@m4x.org>
---
 python/sepolicy/sepolicy/__init__.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff mbox

Patch

diff --git a/python/sepolicy/sepolicy/__init__.py b/python/sepolicy/sepolicy/__init__.py
index d41fc6ae1543..bf2494a813c8 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