SIGSEGV, Segmentation fault in gatt indication confirm 79/177779/1
authorAvichal Agarwal <avichal.a@samsung.com>
Thu, 3 May 2018 12:40:48 +0000 (18:10 +0530)
committerAvichal Agarwal <avichal.a@samsung.com>
Thu, 3 May 2018 13:19:43 +0000 (18:49 +0530)
Program received signal SIGSEGV, Segmentation fault.
0xf71fbcee in strlen () from /lib/libc.so.6
(gdb) bt
    destroy=destroy@entry=0x0) at gdbus/client.c:909

Change-Id: Ib3dc7579970e80ff3f4fb808d0b42a869e819731

src/gatt-database.c

index 0ec136d..9d8511f 100644 (file)
@@ -186,7 +186,7 @@ struct device_info {
 };
 
 #ifdef TIZEN_FEATURE_BLUEZ_MODIFY
-static void conf_cb(void *user_data);
+static void conf_cb_tizen(void *user_data);
 #endif
 
 static void ccc_cb_free(void *data)
@@ -379,7 +379,7 @@ static void send_service_changed_indication_on_reconnect(
        put_le16(end_handle, value + 2);
 
        bt_gatt_server_send_indication(server, svc_chngd_handle,
-                               value, sizeof(value), conf_cb,
+                               value, sizeof(value), conf_cb_tizen,
                                NULL, NULL);
 }
 
@@ -1194,11 +1194,15 @@ static void conf_cb(void *user_data)
        DBG("GATT server received confirmation");
 
        if (proxy != NULL)
-       {
                g_dbus_proxy_method_call(proxy, "Confirm", NULL, NULL, NULL, NULL);
-       }
+
+}
 
 #ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+static void conf_cb_tizen(void *user_data)
+{
+
+       DBG("GATT  server received indication confirmation");
        struct notify_indicate_cb *confirm = user_data;
 
        if (confirm) {
@@ -1210,8 +1214,9 @@ static void conf_cb(void *user_data)
                g_dbus_proxy_unref(confirm->proxy);
                confirm->proxy = NULL;
        }
-#endif
+
 }
+#endif
 
 #ifdef TIZEN_FEATURE_BLUEZ_MODIFY
 static void send_notification_indication_to_device(void *data, void *user_data)
@@ -1250,7 +1255,7 @@ static void send_notification_indication_to_device(void *data, void *user_data)
                                        notify_indicate->len);
                /* In case of Notification, send response to application
                 * as remote device do not respond for notification */
-               conf_cb(confirm);
+               conf_cb_tizen(confirm);
                indicate_confirm_free((void *)confirm);
                return;
        }
@@ -1260,7 +1265,7 @@ static void send_notification_indication_to_device(void *data, void *user_data)
        bt_gatt_server_send_indication(btd_device_get_gatt_server(device),
                                                        notify_indicate->handle,
                                                        notify_indicate->value,
-                                                       notify_indicate->len, conf_cb,
+                                                       notify_indicate->len, conf_cb_tizen,
                                                        confirm, indicate_confirm_free);
 }