Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 17d4967c authored by Pavlin Radoslavov's avatar Pavlin Radoslavov
Browse files

Remove casts to (tBTA_GATTC*) unions to avoid unaligned accesses

Bug: 65381426
Test: unit tests
Change-Id: I37e89ec7187ab1c61be4c736385a9fc5ec88d737
(cherry picked from commit 75d59e21)
parent ffed04d3
Loading
Loading
Loading
Loading
+10 −6
Original line number Original line Diff line number Diff line
@@ -663,7 +663,7 @@ void bta_gattc_close(tBTA_GATTC_CLCB* p_clcb, tBTA_GATTC_DATA* p_data) {
    cb_data.close.reason = p_data->int_conn.reason;
    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) {
  if (p_clreg->num_clcb == 0 && p_clreg->dereg_pending) {
    bta_gattc_deregister_cmpl(p_clreg);
    bta_gattc_deregister_cmpl(p_clreg);
@@ -1299,7 +1299,7 @@ static void bta_gattc_deregister_cmpl(tBTA_GATTC_RCB* p_clreg) {
  cb_data.reg_oper.status = BTA_GATT_OK;
  cb_data.reg_oper.status = BTA_GATT_OK;


  if (p_cback) /* callback with de-register event */
  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 &&
  if (bta_gattc_num_reg_app() == 0 &&
      bta_gattc_cb.state == BTA_GATTC_STATE_DISABLING) {
      bta_gattc_cb.state == BTA_GATTC_STATE_DISABLING) {
@@ -1484,8 +1484,9 @@ bool bta_gattc_process_srvc_chg_ind(uint16_t conn_id, tBTA_GATTC_RCB* p_clrcb,
    }
    }
    /* notify applicationf or service change */
    /* notify applicationf or service change */
    if (p_clrcb->p_cback != NULL) {
    if (p_clrcb->p_cback != NULL) {
      (*p_clrcb->p_cback)(BTA_GATTC_SRVC_CHG_EVT,
      tBTA_GATTC bta_gattc;
                          (tBTA_GATTC*)&p_srcb->server_bda);
      bta_gattc.remote_bda = p_srcb->server_bda;
      (*p_clrcb->p_cback)(BTA_GATTC_SRVC_CHG_EVT, &bta_gattc);
    }
    }
  }
  }


@@ -1513,8 +1514,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);
  memcpy(p_notify->value, p_data->att_value.value, p_data->att_value.len);
  p_notify->conn_id = p_clcb->bta_conn_id;
  p_notify->conn_id = p_clcb->bta_conn_id;


  if (p_clcb->p_rcb->p_cback)
  if (p_clcb->p_rcb->p_cback) {
    (*p_clcb->p_rcb->p_cback)(BTA_GATTC_NOTIF_EVT, (tBTA_GATTC*)p_notify);
    tBTA_GATTC bta_gattc;
    bta_gattc.notify = *p_notify;
    (*p_clcb->p_rcb->p_cback)(BTA_GATTC_NOTIF_EVT, &bta_gattc);
  }
}
}
/*******************************************************************************
/*******************************************************************************
 *
 *