Fix coverity issue
[platform/core/api/gesture.git] / client / gesture_client_dbus.c
index 532ac88..0c58dad 100644 (file)
@@ -623,10 +623,21 @@ int gesture_client_dbus_is_support_gesture_type(GDBusConnection *gdbus_connectio
        GDBusMessage *reply = NULL;
        GVariant *body = NULL;
 
-       body = g_variant_new("()");
+       body = g_variant_new("(i)", gesture);
        ret = gdbus_send_message_with_sync(gdbus_connection, body, &reply, GESTURE_CLIENT_MSG_IS_SUPPORT_GESTURE_TYPE);
-       if (ret != HAND_GESTURE_ERROR_NONE)
+       if (ret != HAND_GESTURE_ERROR_NONE || NULL == reply) {
                LOGE("failed to is_supported_gesture_type");
+       } else {
+               LOGD("Check reply from server");
+               GVariant *reply_body = g_dbus_message_get_body(reply);
+               if (NULL == reply_body) {
+                       LOGE("There is no return value");
+                       ret = HAND_GESTURE_ERROR_OPERATION_FAILED;
+               } else {
+                       g_variant_get(reply_body, "(b)", supported);
+                       LOGD("supported(%d)", *supported);
+               }
+       }
 
        if (body)
                g_variant_unref(body);
@@ -643,13 +654,35 @@ int gesture_client_dbus_get_engine_info(GDBusConnection *gdbus_connection, char*
        int ret;
        GDBusMessage *reply = NULL;
        GVariant *body = NULL;
-       g_engine_app_id = *engine_app_id;
-       g_engine_name = *engine_name;
 
        body = g_variant_new("()");
        ret = gdbus_send_message_with_sync(gdbus_connection, body, &reply, GESTURE_CLIENT_MSG_ENGINE_GET_INFO);
        if (ret != HAND_GESTURE_ERROR_NONE)
-               LOGE("failed to engine_get_info");
+               LOGE("Fail to send message");
+
+       GVariant *reply_body = g_dbus_message_get_body(reply);
+       if (NULL == reply_body) {
+               LOGE("There is no return value");
+               ret = HAND_GESTURE_ERROR_OPERATION_FAILED;
+       } else {
+               g_variant_get(reply_body, "(ss)", engine_app_id, engine_name);
+               if (NULL == engine_app_id || NULL == engine_name) {
+                       LOGE("Fail to get engine info");
+                       ret = HAND_GESTURE_ERROR_OPERATION_FAILED;
+               } else {
+                       if (NULL != g_engine_app_id) {
+                               free(g_engine_app_id);
+                       }
+
+                       if (NULL != g_engine_name) {
+                               free(g_engine_name);
+                       }
+
+                       g_engine_app_id = *engine_app_id;
+                       g_engine_name = *engine_name;
+                       LOGD("APP ID(%s), Name(%s)", *engine_app_id, *engine_name);
+               }
+       }
 
        if (body)
                g_variant_unref(body);