input: fix null pointer dereference before device realizing
authorSeokYeon Hwang <syeon.hwang@samsung.com>
Tue, 23 Aug 2016 06:38:51 +0000 (15:38 +0900)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Tue, 23 Aug 2016 06:38:51 +0000 (15:38 +0900)
Change-Id: Ic988464da57ab65509eb28ea53effd23c1e54d73
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
tizen/src/hw/virtio/maru_virtio_input.c

index 78775e7..bf72295 100644 (file)
@@ -162,6 +162,11 @@ static void input_common_reset(VirtIODevice *vdev)
 
 static bool check_ready(VirtIOMaruInput *input)
 {
+    if (!input) {
+        // device is not realized yet.
+        return false;
+    }
+
     if (unlikely(!virtio_queue_ready(input->vq))) {
         LOG_INFO("virtqueue is not ready, dropping event.\n");
         return false;
@@ -420,11 +425,11 @@ static void virtio_keyboard_device_unrealize(DeviceState *dev, Error **errp)
 
 static void virtio_keyboard_device_reset(VirtIODevice *vdev)
 {
-    VirtIOKeyboard *vkbd = (VirtIOKeyboard *)vdev;
+    VirtIOKeyboard *kbd = (VirtIOKeyboard *)vdev;
 
     LOG_INFO("%s\n", __func__);
 
-    vkbd->extension_key = 0;
+    kbd->extension_key = 0;
     input_common_reset(vdev);
 }