From b147c652e90c60daa7113933c48a465491707213 Mon Sep 17 00:00:00 2001 From: Pavlin Radoslavov Date: Thu, 28 Sep 2017 18:11:06 -0700 Subject: [PATCH] Remove casts to (tBTA_GATTC*) unions to avoid unaligned accesses Bug: 65381426 Test: unit tests Change-Id: I37e89ec7187ab1c61be4c736385a9fc5ec88d737 --- bta/gatt/bta_gattc_act.cc | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/bta/gatt/bta_gattc_act.cc b/bta/gatt/bta_gattc_act.cc index 98c409589..239e71711 100644 --- a/bta/gatt/bta_gattc_act.cc +++ b/bta/gatt/bta_gattc_act.cc @@ -662,7 +662,7 @@ void bta_gattc_close(tBTA_GATTC_CLCB* p_clcb, tBTA_GATTC_DATA* p_data) { cb_data.close.reason = p_data->int_conn.reason; } - if (p_cback) (*p_cback)(BTA_GATTC_CLOSE_EVT, (tBTA_GATTC*)&cb_data); + if (p_cback) (*p_cback)(BTA_GATTC_CLOSE_EVT, &cb_data); if (p_clreg->num_clcb == 0 && p_clreg->dereg_pending) { bta_gattc_deregister_cmpl(p_clreg); @@ -1297,7 +1297,7 @@ static void bta_gattc_deregister_cmpl(tBTA_GATTC_RCB* p_clreg) { cb_data.reg_oper.status = GATT_SUCCESS; if (p_cback) /* callback with de-register event */ - (*p_cback)(BTA_GATTC_DEREG_EVT, (tBTA_GATTC*)&cb_data); + (*p_cback)(BTA_GATTC_DEREG_EVT, &cb_data); if (bta_gattc_num_reg_app() == 0 && bta_gattc_cb.state == BTA_GATTC_STATE_DISABLING) { @@ -1476,8 +1476,9 @@ bool bta_gattc_process_srvc_chg_ind(uint16_t conn_id, tBTA_GATTC_RCB* p_clrcb, } /* notify applicationf or service change */ if (p_clrcb->p_cback != NULL) { - (*p_clrcb->p_cback)(BTA_GATTC_SRVC_CHG_EVT, - (tBTA_GATTC*)&p_srcb->server_bda); + tBTA_GATTC bta_gattc; + bta_gattc.remote_bda = p_srcb->server_bda; + (*p_clrcb->p_cback)(BTA_GATTC_SRVC_CHG_EVT, &bta_gattc); } } @@ -1505,8 +1506,11 @@ void bta_gattc_proc_other_indication(tBTA_GATTC_CLCB* p_clcb, uint8_t op, memcpy(p_notify->value, p_data->att_value.value, p_data->att_value.len); p_notify->conn_id = p_clcb->bta_conn_id; - if (p_clcb->p_rcb->p_cback) - (*p_clcb->p_rcb->p_cback)(BTA_GATTC_NOTIF_EVT, (tBTA_GATTC*)p_notify); + if (p_clcb->p_rcb->p_cback) { + tBTA_GATTC bta_gattc; + bta_gattc.notify = *p_notify; + (*p_clcb->p_rcb->p_cback)(BTA_GATTC_NOTIF_EVT, &bta_gattc); + } } /******************************************************************************* * -- 2.11.0