diff options
Diffstat (limited to 'nova/rootwrap')
| -rwxr-xr-x | nova/rootwrap/filters.py | 7 |
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 |
