summaryrefslogtreecommitdiffstats
path: root/nova/rootwrap
diff options
context:
space:
mode:
Diffstat (limited to 'nova/rootwrap')
-rwxr-xr-xnova/rootwrap/filters.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/nova/rootwrap/filters.py b/nova/rootwrap/filters.py
index faaeb11f7..98880194b 100755
--- a/nova/rootwrap/filters.py
+++ b/nova/rootwrap/filters.py
@@ -100,6 +100,8 @@ class KillFilter(CommandFilter):
"""
def match(self, userargs):
+ if userargs[0] != "kill":
+ return False
args = list(userargs)
if len(args) == 3:
signal = args.pop(1)
@@ -113,13 +115,12 @@ class KillFilter(CommandFilter):
if '' not in self.args[0]:
# No signal, but list doesn't include empty string
return False
- pid = int(args[1])
try:
- command = os.readlink("/proc/%d/exe" % pid)
+ command = os.readlink("/proc/%d/exe" % int(args[1]))
if command not in self.args[1]:
# Affected executable not in accepted list
return False
- except:
+ except (ValueError, OSError):
# Incorrect PID
return False
return True