Discussion:
[PATCH] python/semanage/seobject.py: Fix undefined store check
Petr Lautrbach
2018-05-04 11:51:46 UTC
Permalink
From: Vit Mojzis <***@redhat.com>

self.store is always a string (actual store name or "") because of
semanageRecords.__init__. Fix check for not defined store.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1559174#c3

Signed-off-by: Vit Mojzis <***@redhat.com>
---
python/semanage/seobject.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/python/semanage/seobject.py b/python/semanage/seobject.py
index ac310ea6..c76dce85 100644
--- a/python/semanage/seobject.py
+++ b/python/semanage/seobject.py
@@ -2651,7 +2651,7 @@ class booleanRecords(semanageRecords):
self.current_booleans = []
ptype = None

- if self.store is None or self.store == ptype:
+ if self.store == "" or self.store == ptype:
self.modify_local = True
else:
self.modify_local = False
--
2.17.0
Stephen Smalley
2018-05-04 17:58:08 UTC
Permalink
Post by Petr Lautrbach
self.store is always a string (actual store name or "") because of
semanageRecords.__init__. Fix check for not defined store.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1559174#c3
---
python/semanage/seobject.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/python/semanage/seobject.py b/python/semanage/seobject.py
index ac310ea6..c76dce85 100644
--- a/python/semanage/seobject.py
+++ b/python/semanage/seobject.py
self.current_booleans = []
ptype = None
self.modify_local = True
self.modify_local = False
Is there a reason you didn't use if not self.store here?
Petr Lautrbach
2018-05-04 20:12:35 UTC
Permalink
Post by Stephen Smalley
Post by Petr Lautrbach
self.store is always a string (actual store name or "") because of
semanageRecords.__init__. Fix check for not defined store.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1559174#c3
---
python/semanage/seobject.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/python/semanage/seobject.py b/python/semanage/seobject.py
index ac310ea6..c76dce85 100644
--- a/python/semanage/seobject.py
+++ b/python/semanage/seobject.py
self.current_booleans = []
ptype = None
self.modify_local = True
self.modify_local = False
Is there a reason you didn't use if not self.store here?
There's a similar check on line 258 and this just follows the same pattern.
Stephen Smalley
2018-05-07 13:58:28 UTC
Permalink
Post by Petr Lautrbach
Post by Stephen Smalley
Post by Petr Lautrbach
self.store is always a string (actual store name or "") because of
semanageRecords.__init__. Fix check for not defined store.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1559174#c3
---
python/semanage/seobject.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/python/semanage/seobject.py b/python/semanage/seobject.py
index ac310ea6..c76dce85 100644
--- a/python/semanage/seobject.py
+++ b/python/semanage/seobject.py
self.current_booleans = []
ptype = None
self.modify_local = True
self.modify_local = False
Is there a reason you didn't use if not self.store here?
There's a similar check on line 258 and this just follows the same pattern.
Ok, I don't have a strong opinion on it either way, but noticed that it was recommended
to use not self.store in that bugzilla entry, comment #9, and was claimed to have been changed
in comment #10. Up to you.
Petr Lautrbach
2018-05-07 20:00:41 UTC
Permalink
Post by Stephen Smalley
Post by Petr Lautrbach
Post by Stephen Smalley
Post by Petr Lautrbach
self.store is always a string (actual store name or "") because of
semanageRecords.__init__. Fix check for not defined store.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1559174#c3
---
python/semanage/seobject.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/python/semanage/seobject.py b/python/semanage/seobject.py
index ac310ea6..c76dce85 100644
--- a/python/semanage/seobject.py
+++ b/python/semanage/seobject.py
self.current_booleans = []
ptype = None
self.modify_local = True
self.modify_local = False
Is there a reason you didn't use if not self.store here?
There's a similar check on line 258 and this just follows the same pattern.
Ok, I don't have a strong opinion on it either way, but noticed that it was recommended
to use not self.store in that bugzilla entry, comment #9, and was claimed to have been changed
in comment #10. Up to you.
I think that the important part of the message is not use
`self.store is ""` as it has unpredictable behavior.

The check `not self.store` is already in __init__ on line 252:

252 if not self.store:
253 self.store = getattr(args, "store", "")

If there's no objection, I'd leave as it is now.


FYI: I'll be offline most time of the week so I won't be able to
respond to emails during this time.

Loading...