diff mbox series

[1/1] python/sepolicy: initialize mislabeled_files in __init__()

Message ID 20190113174425.27403-1-nicolas.iooss@m4x.org (mailing list archive)
State Accepted
Headers show
Series [1/1] python/sepolicy: initialize mislabeled_files in __init__() | expand

Commit Message

Nicolas Iooss Jan. 13, 2019, 5:44 p.m. UTC
Using "sepolicy gui" sometimes leads to an exception when entering the
Files tab:

    Traceback (most recent call last):
      File "python/sepolicy/sepolicy/gui.py", line 1345, in tab_change
        self.show_mislabeled_files_only.set_visible(self.mislabeled_files)
    AttributeError: 'SELinuxGui' object has no attribute 'mislabeled_files'

Indeed, when application_selected() calls show_applications_page(), this
function calls tab_change(), which can use mislabeled_files in this
line:

    self.show_mislabeled_files_only.set_visible(self.mislabeled_files)

Make sure that mislabeled_files is initialized by defining it in
__init__(), in order to fix this error. Its value will be properly set
later, by calling several initializers, which is why the original
assignment to False is kept in:

    self.mislabeled_files = False
    self.executable_files_initialize(app)
    self.network_initialize(app)
    self.writable_files_initialize(app)
    self.transitions_into_initialize(app)
    self.transitions_from_initialize(app)
    self.application_files_initialize(app)
    self.transitions_files_initialize(app)

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
---
 python/sepolicy/sepolicy/gui.py | 1 +
 1 file changed, 1 insertion(+)

Comments

Petr Lautrbach Jan. 14, 2019, 8:42 a.m. UTC | #1
Nicolas Iooss <nicolas.iooss@m4x.org> writes:

> Using "sepolicy gui" sometimes leads to an exception when entering the
> Files tab:
>
>     Traceback (most recent call last):
>       File "python/sepolicy/sepolicy/gui.py", line 1345, in tab_change
>         self.show_mislabeled_files_only.set_visible(self.mislabeled_files)
>     AttributeError: 'SELinuxGui' object has no attribute 'mislabeled_files'
>
> Indeed, when application_selected() calls show_applications_page(), this
> function calls tab_change(), which can use mislabeled_files in this
> line:
>
>     self.show_mislabeled_files_only.set_visible(self.mislabeled_files)
>
> Make sure that mislabeled_files is initialized by defining it in
> __init__(), in order to fix this error. Its value will be properly set
> later, by calling several initializers, which is why the original
> assignment to False is kept in:
>
>     self.mislabeled_files = False
>     self.executable_files_initialize(app)
>     self.network_initialize(app)
>     self.writable_files_initialize(app)
>     self.transitions_into_initialize(app)
>     self.transitions_from_initialize(app)
>     self.application_files_initialize(app)
>     self.transitions_files_initialize(app)
>
> Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>

Acked-by: Petr Lautrbach <plautrba@redhat.com>

> ---
>  python/sepolicy/sepolicy/gui.py | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/python/sepolicy/sepolicy/gui.py b/python/sepolicy/sepolicy/gui.py
> index 9d413652f2ed..fde233ad98b1 100644
> --- a/python/sepolicy/sepolicy/gui.py
> +++ b/python/sepolicy/sepolicy/gui.py
> @@ -149,6 +149,7 @@ class SELinuxGui():
>          self.clear_entry = True
>          self.files_add = False
>          self.network_add = False
> +        self.mislabeled_files = False
>  
>          self.all_domains = []
>          self.installed_list = []
Nicolas Iooss Jan. 16, 2019, 8:30 p.m. UTC | #2
On Mon, Jan 14, 2019 at 9:42 AM Petr Lautrbach <plautrba@redhat.com> wrote:
>
> Nicolas Iooss <nicolas.iooss@m4x.org> writes:
>
> > Using "sepolicy gui" sometimes leads to an exception when entering the
> > Files tab:
> >
> >     Traceback (most recent call last):
> >       File "python/sepolicy/sepolicy/gui.py", line 1345, in tab_change
> >         self.show_mislabeled_files_only.set_visible(self.mislabeled_files)
> >     AttributeError: 'SELinuxGui' object has no attribute 'mislabeled_files'
> >
> > Indeed, when application_selected() calls show_applications_page(), this
> > function calls tab_change(), which can use mislabeled_files in this
> > line:
> >
> >     self.show_mislabeled_files_only.set_visible(self.mislabeled_files)
> >
> > Make sure that mislabeled_files is initialized by defining it in
> > __init__(), in order to fix this error. Its value will be properly set
> > later, by calling several initializers, which is why the original
> > assignment to False is kept in:
> >
> >     self.mislabeled_files = False
> >     self.executable_files_initialize(app)
> >     self.network_initialize(app)
> >     self.writable_files_initialize(app)
> >     self.transitions_into_initialize(app)
> >     self.transitions_from_initialize(app)
> >     self.application_files_initialize(app)
> >     self.transitions_files_initialize(app)
> >
> > Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
>
> Acked-by: Petr Lautrbach <plautrba@redhat.com>

Thanks, merged.

Nicolas

> > ---
> >  python/sepolicy/sepolicy/gui.py | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/python/sepolicy/sepolicy/gui.py b/python/sepolicy/sepolicy/gui.py
> > index 9d413652f2ed..fde233ad98b1 100644
> > --- a/python/sepolicy/sepolicy/gui.py
> > +++ b/python/sepolicy/sepolicy/gui.py
> > @@ -149,6 +149,7 @@ class SELinuxGui():
> >          self.clear_entry = True
> >          self.files_add = False
> >          self.network_add = False
> > +        self.mislabeled_files = False
> >
> >          self.all_domains = []
> >          self.installed_list = []
diff mbox series

Patch

diff --git a/python/sepolicy/sepolicy/gui.py b/python/sepolicy/sepolicy/gui.py
index 9d413652f2ed..fde233ad98b1 100644
--- a/python/sepolicy/sepolicy/gui.py
+++ b/python/sepolicy/sepolicy/gui.py
@@ -149,6 +149,7 @@  class SELinuxGui():
         self.clear_entry = True
         self.files_add = False
         self.network_add = False
+        self.mislabeled_files = False
 
         self.all_domains = []
         self.installed_list = []