Null check for ir_device 29/94729/2
authorpr.jung <pr.jung@samsung.com>
Tue, 1 Nov 2016 02:25:52 +0000 (11:25 +0900)
committerpr.jung <pr.jung@samsung.com>
Tue, 1 Nov 2016 07:36:06 +0000 (16:36 +0900)
Change-Id: I6915e46cc8799a75440b4176f59f6c899d7418ff
Signed-off-by: pr.jung <pr.jung@samsung.com>
src/ir/ir.c

index 3110090..bbb94a7 100644 (file)
@@ -33,8 +33,15 @@ static DBusMessage *edbus_ir_is_available(E_DBus_Object *obj, DBusMessage *msg)
        int ret = 0;
        bool val;
 
-       if (!ir_dev)
+       if (!ir_dev) {
+               ret = -ENODEV;
+               goto exit;
+       }
+
+       if (!ir_dev->is_available) {
+               ret = -ENODEV;
                goto exit;
+       }
 
        ret = ir_dev->is_available(&val);
        if (ret >= 0)
@@ -60,6 +67,11 @@ static DBusMessage *edbus_ir_transmit(E_DBus_Object *obj, DBusMessage *msg)
                goto exit;
        }
 
+       if (!ir_dev->transmit) {
+               ret = -ENODEV;
+               goto exit;
+       }
+
        if (!dbus_message_get_args(msg, NULL,
                                DBUS_TYPE_ARRAY, DBUS_TYPE_INT32, &freq_pattern, &size,
                                DBUS_TYPE_INVALID)) {