]> xenbits.xensource.com Git - libvirt.git/commitdiff
send-key: fix scan keycode map
authorKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Mon, 22 Aug 2011 10:02:15 +0000 (19:02 +0900)
committerEric Blake <eblake@redhat.com>
Mon, 22 Aug 2011 13:24:15 +0000 (07:24 -0600)
Now, bad key-code in send-key can cause segmentation fault in libvirt.
(example)
 % virsh send-key --codeset win32 12
   error: End of file while reading data: Input/output error

This is caused by overrun at scanning keycode array.

Fix it.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
src/util/virkeycode.c

index 4d540607a88fdb59f8ccb8b0828b8af5b3bb68df..0d427677d6023f61c679065c8c02db050cc3360f 100644 (file)
@@ -118,7 +118,7 @@ static int __virKeycodeValueTranslate(unsigned int from_offset,
 {
     int i;
 
-    for (i = 0; ARRAY_CARDINALITY(virKeycodes); i++) {
+    for (i = 0; i < ARRAY_CARDINALITY(virKeycodes); i++) {
         if (getfield(virKeycodes + i, unsigned short, from_offset) == key_value)
             return getfield(virKeycodes + i, unsigned short, to_offset);
     }