From 8e2c5940cdcf3b73e2ebf17acbfcf5d6b8dc6c2f Mon Sep 17 00:00:00 2001 From: Andrea Bolognani Date: Fri, 15 May 2015 18:14:41 +0200 Subject: [PATCH] virsh: Improve handling of send-process-signal --pid. Use vshCommandOptLongLong() instead of retrieving the value as a string and converting it to a number manually. --- tools/virsh-domain.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 10d01b61cc..36f3e6c769 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -8262,7 +8262,6 @@ cmdSendProcessSignal(vshControl *ctl, const vshCmd *cmd) { virDomainPtr dom; bool ret = false; - const char *pidstr; const char *signame; long long pid_value; int signum; @@ -8270,17 +8269,16 @@ cmdSendProcessSignal(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptStringReq(ctl, cmd, "pid", &pidstr) < 0) + if (vshCommandOptLongLong(cmd, "pid", &pid_value) < 0) { + vshError(ctl, + _("Numeric value for <%s> option is malformed or out of range"), + "pid"); goto cleanup; + } if (vshCommandOptStringReq(ctl, cmd, "signame", &signame) < 0) goto cleanup; - if (virStrToLong_ll(pidstr, NULL, 10, &pid_value) < 0) { - vshError(ctl, _("malformed PID value: %s"), pidstr); - goto cleanup; - } - if ((signum = getSignalNumber(ctl, signame)) < 0) { vshError(ctl, _("malformed signal name: %s"), signame); goto cleanup;