[libvirt] [PATCH 2/2] virsh-domain: Report errors on invalid --holdtime value for cmdSendKey

Peter Krempa pkrempa at redhat.com
Thu Apr 18 08:51:31 UTC 2013


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 0255542..4652914 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) {
-- 
1.8.1.5




More information about the libvir-list mailing list