From 5f1570466a8ebe5bfc586b1eadf72ecca779ad9e Mon Sep 17 00:00:00 2001 From: Avichal Agarwal Date: Thu, 3 May 2018 18:10:48 +0530 Subject: [PATCH] SIGSEGV, Segmentation fault in gatt indication confirm 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 | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/gatt-database.c b/src/gatt-database.c index 0ec136d..9d8511f 100644 --- a/src/gatt-database.c +++ b/src/gatt-database.c @@ -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); } -- 2.7.4