mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 04:25:18 +00:00
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.
This commit is contained in:
parent
35d0f3b14a
commit
f78266dfc2
@ -6741,7 +6741,7 @@ cmdSendKey(vshControl *ctl, const vshCmd *cmd)
|
|||||||
int ret = false;
|
int ret = false;
|
||||||
const char *codeset_option;
|
const char *codeset_option;
|
||||||
int codeset;
|
int codeset;
|
||||||
int holdtime;
|
unsigned int holdtime = 0;
|
||||||
int count = 0;
|
int count = 0;
|
||||||
const vshCmdOpt *opt = NULL;
|
const vshCmdOpt *opt = NULL;
|
||||||
int keycode;
|
int keycode;
|
||||||
@ -6753,8 +6753,10 @@ cmdSendKey(vshControl *ctl, const vshCmd *cmd)
|
|||||||
if (vshCommandOptString(cmd, "codeset", &codeset_option) <= 0)
|
if (vshCommandOptString(cmd, "codeset", &codeset_option) <= 0)
|
||||||
codeset_option = "linux";
|
codeset_option = "linux";
|
||||||
|
|
||||||
if (vshCommandOptInt(cmd, "holdtime", &holdtime) <= 0)
|
if (vshCommandOptUInt(cmd, "holdtime", &holdtime) < 0) {
|
||||||
holdtime = 0;
|
vshError(ctl, _("invalid value of --holdtime"));
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
codeset = virKeycodeSetTypeFromString(codeset_option);
|
codeset = virKeycodeSetTypeFromString(codeset_option);
|
||||||
if (codeset < 0) {
|
if (codeset < 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user