From f78266dfc22d3887cc2444ec0316621af2b017e0 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 18 Apr 2013 10:42:47 +0200 Subject: [PATCH] virsh-domain: Report errors on invalid --holdtime value for cmdSendKey Using of a incorrect value for the --holdtime option was silently ignored and 0 was used. In case a negative number was used, it overflowed as the API expects a unsigned int. Fix the data type and getter function type and report errors on incorrect values. --- tools/virsh-domain.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 02555426a1..4652914780 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -6741,7 +6741,7 @@ cmdSendKey(vshControl *ctl, const vshCmd *cmd) int ret = false; const char *codeset_option; int codeset; - int holdtime; + unsigned int holdtime = 0; int count = 0; const vshCmdOpt *opt = NULL; int keycode; @@ -6753,8 +6753,10 @@ cmdSendKey(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptString(cmd, "codeset", &codeset_option) <= 0) codeset_option = "linux"; - if (vshCommandOptInt(cmd, "holdtime", &holdtime) <= 0) - holdtime = 0; + if (vshCommandOptUInt(cmd, "holdtime", &holdtime) < 0) { + vshError(ctl, _("invalid value of --holdtime")); + goto cleanup; + } codeset = virKeycodeSetTypeFromString(codeset_option); if (codeset < 0) { -- GitLab