}
if (*len + 2 + name_len > ADV_DATA_LEN_MAX) {
- *p = realloc(*p, sizeof(char) * ADV_DATA_LEN_MAX);
- (*p)[*len] = ADV_DATA_LEN_MAX - *len - 1;
- (*p)[*len + 1] = BT_ADAPTER_LE_ADVERTISING_DATA_LOCAL_NAME;
- memcpy(*p + *len + 2, name, ADV_DATA_LEN_MAX - *len - 2);
+ char *new_p;
+ new_p = realloc(*p, sizeof(char) * ADV_DATA_LEN_MAX);
+ new_p[*len] = ADV_DATA_LEN_MAX - *len - 1;
+ new_p[*len + 1] = BT_ADAPTER_LE_ADVERTISING_DATA_LOCAL_NAME;
+ memcpy(new_p + *len + 2, name, ADV_DATA_LEN_MAX - *len - 2);
+ *p = new_p;
BT_DBG("name_len is %d, but only %d bytes were set", name_len, ADV_DATA_LEN_MAX - *len - 2);
*len = ADV_DATA_LEN_MAX;
} else {
- *p = realloc(*p, sizeof(char) * (*len + name_len + 2));
- (*p)[*len] = name_len + 1;
- (*p)[*len + 1] = BT_ADAPTER_LE_ADVERTISING_DATA_LOCAL_NAME;
- memcpy(*p + *len + 2, name, name_len);
+ char *new_p;
+ new_p = realloc(*p, sizeof(char) * (*len + name_len + 2));
+ new_p[*len] = name_len + 1;
+ new_p[*len + 1] = BT_ADAPTER_LE_ADVERTISING_DATA_LOCAL_NAME;
+ memcpy(new_p + *len + 2, name, name_len);
+ *p = new_p;
BT_DBG("%d bytes custom name were set", name_len);
*len += name_len + 2;
}
if (__adv->adv_data_len > 0 && __adv->adv_data) { /* LCOV_EXCL_START */
char buf[100];
for (int i = 0; i < __adv->adv_data_len; i++)
- sprintf(buf + i * 2, "%02x", __adv->adv_data[i]);
+ snprintf(buf + i * 2, 100, "%02x", __adv->adv_data[i]);
BT_DBG("adv_data: %s(len: %d)", buf, __adv->adv_data_len);
memcpy(adv.data, __adv->adv_data, __adv->adv_data_len);
if (__adv->scan_rsp_data_len > 0 && __adv->scan_rsp_data) { /* LCOV_EXCL_START */
char buf[100];
for (int i = 0; i < __adv->scan_rsp_data_len; i++)
- sprintf(buf + i * 2, "%02x", __adv->scan_rsp_data[i]);
+ snprintf(buf + i * 2, 100, "%02x", __adv->scan_rsp_data[i]);
BT_DBG("scan_rsp_data: %s(len: %d)", buf, __adv->scan_rsp_data_len);
memcpy(resp.data, __adv->scan_rsp_data, __adv->scan_rsp_data_len);