Fix svace issues 57/289857/1
authorWootak Jung <wootak.jung@samsung.com>
Wed, 15 Mar 2023 01:38:20 +0000 (10:38 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Wed, 15 Mar 2023 01:38:20 +0000 (10:38 +0900)
Change-Id: Ief9a08aaa5cf1dc8f7d90c3f02dace535bf7eb7e
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
src/bluetooth-adapter.c

index 44077c0..0860c19 100644 (file)
@@ -2540,17 +2540,21 @@ int bt_adapter_le_add_advertising_custom_name(bt_advertiser_h advertiser,
        }
 
        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;
        }
@@ -2756,7 +2760,7 @@ int bt_adapter_le_start_advertising_new(bt_advertiser_h advertiser,
        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);
@@ -2773,7 +2777,7 @@ int bt_adapter_le_start_advertising_new(bt_advertiser_h advertiser,
        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);