From: sungmin ha Date: Tue, 21 Jan 2014 09:39:22 +0000 (+0900) Subject: hwkey, keyboard: modified defects X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.1~508 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=769fbc4f531569adae427b44985b0e047bd6678b;p=sdk%2Femulator%2Fqemu.git hwkey, keyboard: modified defects 1. missing lock 2. null checking 3. uninitialized scalar variable Change-Id: Ib84e9592ecae4cf6682c183245eb60f61ed77242 Signed-off-by: sungmin ha --- 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);