From 897116fbcbc98b2b1ab2b1575db47583673d23f2 Mon Sep 17 00:00:00 2001 From: nicholasyang Date: Thu, 30 May 2024 10:29:53 +0800 Subject: [PATCH] Fix: cmd_status: call crm_mon without shell (#1429) --- crmsh/cmd_status.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/crmsh/cmd_status.py b/crmsh/cmd_status.py index 4d80a0c557..541cadc49c 100644 --- a/crmsh/cmd_status.py +++ b/crmsh/cmd_status.py @@ -1,8 +1,9 @@ # Copyright (C) 2013 Kristoffer Gronlund # Copyright (C) 2008-2011 Dejan Muhamedagic # See COPYING for license information. - import re +import shlex + from . import clidisplay from . import utils from .sh import ShellUtils @@ -81,14 +82,12 @@ def crm_mon(opts=''): prog = utils.is_program("crm_mon") if not prog: raise IOError("crm_mon not available, check your installation") - _, out = shell.get_stdout("%s --help" % (prog)) + _crm_mon = [prog, '-1'] + _, out = shell.get_stdout([prog, '--help'], shell=False) if "--pending" in out: - _crm_mon = "%s -1 -j" % (prog) - else: - _crm_mon = "%s -1" % (prog) + _crm_mon.append('-j') - status_cmd = "%s %s" % (_crm_mon, opts) - return shell.get_stdout_stderr(utils.add_sudo(status_cmd)) + return shell.get_stdout_stderr(_crm_mon + shlex.split(opts), shell=False) def cmd_status(args):