From 769fbc4f531569adae427b44985b0e047bd6678b Mon Sep 17 00:00:00 2001 From: sungmin ha Date: Tue, 21 Jan 2014 18:39:22 +0900 Subject: [PATCH] hwkey, keyboard: modified defects 1. missing lock 2. null checking 3. uninitialized scalar variable Change-Id: Ib84e9592ecae4cf6682c183245eb60f61ed77242 Signed-off-by: sungmin ha --- package/changelog | 3 +++ package/pkginfo.manifest | 2 +- tizen/src/hw/maru_virtio_hwkey.c | 7 +++++-- tizen/src/hw/maru_virtio_keyboard.c | 7 ++++--- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/package/changelog b/package/changelog index 4f2e988334..0647911c07 100644 --- a/package/changelog +++ b/package/changelog @@ -1,3 +1,6 @@ +* 1.7.18 +- modified prevent defects in hwkey, keyboard +== SungMin Ha 2014-01-21 * 1.7.17 - removed platform information of install dependency in emulator-qemu-x86 == SungMin Ha 2014-01-20 diff --git a/package/pkginfo.manifest b/package/pkginfo.manifest index 204150d80e..6d9574fe1d 100644 --- a/package/pkginfo.manifest +++ b/package/pkginfo.manifest @@ -1,4 +1,4 @@ -Version: 1.7.17 +Version: 1.7.18 Maintainer: Yeong-Kyoon Lee Source: emulator diff --git a/tizen/src/hw/maru_virtio_hwkey.c b/tizen/src/hw/maru_virtio_hwkey.c index 907f28f8d1..452425533d 100644 --- a/tizen/src/hw/maru_virtio_hwkey.c +++ b/tizen/src/hw/maru_virtio_hwkey.c @@ -193,19 +193,22 @@ static int virtio_hwkey_device_init(VirtIODevice *vdev) DeviceState *qdev = DEVICE(vdev); vhk = VIRTIO_HWKEY(vdev); - virtio_init(vdev, TYPE_VIRTIO_HWKEY, VIRTIO_ID_HWKEY, 0); - if (vdev == NULL) { ERR("failed to initialize the hwkey device\n"); return -1; } + virtio_init(vdev, TYPE_VIRTIO_HWKEY, VIRTIO_ID_HWKEY, 0); + vhk->vq = virtio_add_queue(vdev, MAX_BUF_COUNT, maru_virtio_hwkey_handle); vhk->qdev = qdev; /* reset the counters */ + pthread_mutex_lock(&event_mutex); event_queue_cnt = event_ringbuf_cnt = 0; + pthread_mutex_unlock(&event_mutex); + elem_queue_cnt = elem_ringbuf_cnt = 0; /* bottom-half */ diff --git a/tizen/src/hw/maru_virtio_keyboard.c b/tizen/src/hw/maru_virtio_keyboard.c index 3e2bc3bdf3..1d3d417951 100644 --- a/tizen/src/hw/maru_virtio_keyboard.c +++ b/tizen/src/hw/maru_virtio_keyboard.c @@ -112,7 +112,7 @@ void virtio_keyboard_notify(void *opaque) static void virtio_keyboard_event(void *opaque, int keycode) { - EmulKbdEvent kbdevt; + EmulKbdEvent kbdevt = {0}; int *index = NULL; VirtIOKeyboard *vkbd = (VirtIOKeyboard *)opaque; @@ -231,13 +231,14 @@ static int virtio_keyboard_device_init(VirtIODevice *vdev) vkbd = VIRTIO_KEYBOARD(vdev); INFO("initialize virtio-keyboard device\n"); - virtio_init(vdev, TYPE_VIRTIO_KEYBOARD, VIRTIO_ID_KEYBOARD, 0); if (vdev == NULL) { - ERR("failed to initialize device\n"); + ERR("failed to initialize virtio-keyboard device\n"); return -1; } + virtio_init(vdev, TYPE_VIRTIO_KEYBOARD, VIRTIO_ID_KEYBOARD, 0); + memset(&vkbd->kbdqueue, 0x00, sizeof(vkbd->kbdqueue)); vkbd->extension_key = 0; qemu_mutex_init(&vkbd->event_mutex); -- 2.34.1