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? 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 >