提交 f78266df 编写于 作者: P Peter Krempa

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.
上级 35d0f3b1
......@@ -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) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册