On Mon, Sep 18, 2017 at 3:59 PM, William Roberts <bill.c.roberts@xxxxxxxxx> wrote: > On Mon, Sep 18, 2017 at 2:32 PM, Nicolas Iooss <nicolas.iooss@xxxxxxx> wrote: >> >> On a system without any file context customizations, "sepolicy gui" >> fails to load because it tries to read a non-existent file: >> >> FileNotFoundError: [Errno 2] No such file or directory: >> '/etc/selinux/refpolicy-git/contexts/files/file_contexts.local' >> >> Once this issue is fixed, another one is triggered: >> >> FileNotFoundError: [Errno 2] No such file or directory: >> '/etc/selinux/refpolicy-git/contexts/files/file_contexts.subs >> >> Use os.path.exists() to prevent trying to open non-existent files. >> >> Signed-off-by: Nicolas Iooss <nicolas.iooss@xxxxxxx> >> --- >> python/sepolicy/sepolicy/__init__.py | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/python/sepolicy/sepolicy/__init__.py b/python/sepolicy/sepolicy/__init__.py >> index 03742346caf0..14d2ad634d7d 100644 >> --- a/python/sepolicy/sepolicy/__init__.py >> +++ b/python/sepolicy/sepolicy/__init__.py >> @@ -523,6 +523,8 @@ def find_entrypoint_path(exe, exclude_list=[]): >> >> >> def read_file_equiv(edict, fc_path, modify): >> + if not os.path.exists(fc_path): >> + return edict >> fd = open(fc_path, "r") >> fc = fd.readlines() >> fd.close() >> @@ -555,6 +557,8 @@ def get_local_file_paths(fc_path=selinux.selinux_file_context_path()): >> if local_files: >> return local_files >> local_files = [] >> + if not os.path.exists(fc_path + ".local"): >> + return [] >> fd = open(fc_path + ".local", "r") > > Why not use Try/Except here with a pass here? Wouldn't be a pass... but you get the idea. > While you're at it, maybe update this to use a with > statement. instead of an explicit close call. >> fc = fd.readlines() >> fd.close() >> -- >> 2.14.1 >>