X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bt-oal%2Fbluez_hal%2Fsrc%2Fbt-hal-gatt-client.c;h=cc5b5b8653e4d1d6205d6ee8c92cc7fe7ec1efdb;hb=a56302e7cb070c1fc92a041007af0893c61dfb94;hp=633ec00445dab30361671f193bd6e188115175bf;hpb=dbf0787e0b08e37fbae0ef55ac0e33ea78102f2c;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git diff --git a/bt-oal/bluez_hal/src/bt-hal-gatt-client.c b/bt-oal/bluez_hal/src/bt-hal-gatt-client.c index 633ec00..cc5b5b8 100644 --- a/bt-oal/bluez_hal/src/bt-hal-gatt-client.c +++ b/bt-oal/bluez_hal/src/bt-hal-gatt-client.c @@ -3421,25 +3421,27 @@ void _bt_hal_handle_gattc_value_changed_event(int result, const char *char_handl _bt_hal_convert_addr_string_to_type(bd_addr.address, device_address); conn_info = __bt_find_gatt_conn_info(&bd_addr); - //find service for notified char path - for (l = conn_info->gatt_list_services; l != NULL; l = g_slist_next(l)) { - svc_info = (hal_gattc_service_t*)l->data; - if (svc_info == NULL) - continue; - - /* find characteristic object path */ - for (k = svc_info->gatt_list_chars; k != NULL; k = g_slist_next(k)) { - char_info = (hal_gattc_char_t *)k->data; - if (char_info == NULL) + if (conn_info != NULL) { + //find service for notified char path + for (l = conn_info->gatt_list_services; l != NULL; l = g_slist_next(l)) { + svc_info = (hal_gattc_service_t*)l->data; + if (svc_info == NULL) continue; - if (g_strcmp0(char_info->chr_path, char_handle) == 0) { - DBG("Found char handle[%s]", char_info->chr_path); + /* find characteristic object path */ + for (k = svc_info->gatt_list_chars; k != NULL; k = g_slist_next(k)) { + char_info = (hal_gattc_char_t *)k->data; + if (char_info == NULL) + continue; + + if (g_strcmp0(char_info->chr_path, char_handle) == 0) { + DBG("Found char handle[%s]", char_info->chr_path); - //send event - _bt_hal_send_value_changed_event(conn_info, svc_info, - char_info, char_value, len); - return; + //send event + _bt_hal_send_value_changed_event(conn_info, svc_info, + char_info, char_value, len); + return; + } } } }