From: Tedd Ho-Jeong An <tedd.an@xxxxxxxxx> This patch fixes the errors reported by the scan-build. tools/btmgmt.c:2699:2: warning: Value stored to 'argc' is never read [deadcode.DeadStores] argc -= optind; ^ ~~~~~~ tools/btmgmt.c:2859:2: warning: Value stored to 'argc' is never read [deadcode.DeadStores] argc -= optind; ^ ~~~~~~ tools/btmgmt.c:2860:2: warning: Value stored to 'argv' is never read [deadcode.DeadStores] argv += optind; ^ ~~~~~~ tools/btmgmt.c:2934:2: warning: Value stored to 'argc' is never read [deadcode.DeadStores] argc -= optind; ^ ~~~~~~ tools/btmgmt.c:2935:2: warning: Value stored to 'argv' is never read [deadcode.DeadStores] argv += optind; ^ ~~~~~~ tools/btmgmt.c:3000:2: warning: Value stored to 'argc' is never read [deadcode.DeadStores] argc -= optind; ^ ~~~~~~ tools/btmgmt.c:3001:2: warning: Value stored to 'argv' is never read [deadcode.DeadStores] argv += optind; ^ ~~~~~~ tools/btmgmt.c:3261:11: warning: Value stored to 'index' during its initialization is never read [deadcode.DeadStores] uint16_t index = mgmt_index; ^~~~~ ~~~~~~~~~~ tools/btmgmt.c:3450:2: warning: Value stored to 'argc' is never read [deadcode.DeadStores] argc -= optind; ^ ~~~~~~ tools/btmgmt.c:3451:2: warning: Value stored to 'argv' is never read [deadcode.DeadStores] argv += optind; ^ ~~~~~~ tools/btmgmt.c:4822:2: warning: Null pointer passed to 2nd parameter expecting 'nonnull' [core.NonNullParamChecker] memcpy(cp->data + uuid_bytes, adv_data, adv_len); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/btmgmt.c:4823:2: warning: Null pointer passed to 2nd parameter expecting 'nonnull' [core.NonNullParamChecker] memcpy(cp->data + uuid_bytes + adv_len, scan_rsp, scan_rsp_len); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/btmgmt.c:5244:2: warning: Null pointer passed to 2nd parameter expecting 'nonnull' [core.NonNullParamChecker] memcpy(cp->data + uuid_bytes, adv_data, adv_len); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/btmgmt.c:5245:2: warning: Null pointer passed to 2nd parameter expecting 'nonnull' [core.NonNullParamChecker] memcpy(cp->data + uuid_bytes + adv_len, scan_rsp, scan_rsp_len); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- tools/btmgmt.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/tools/btmgmt.c b/tools/btmgmt.c index 3bf2c21c1..ebef3888f 100644 --- a/tools/btmgmt.c +++ b/tools/btmgmt.c @@ -2696,7 +2696,6 @@ static void cmd_disconnect(int argc, char **argv) } } - argc -= optind; argv += optind; optind = 0; @@ -2856,8 +2855,6 @@ static void cmd_find_service(int argc, char **argv) } } - argc -= optind; - argv += optind; optind = 0; cp = (void *) buf; @@ -2931,8 +2928,6 @@ static void cmd_find(int argc, char **argv) } } - argc -= optind; - argv += optind; optind = 0; memset(&cp, 0, sizeof(cp)); @@ -2997,8 +2992,6 @@ static void cmd_stop_find(int argc, char **argv) } } - argc -= optind; - argv += optind; optind = 0; memset(&cp, 0, sizeof(cp)); @@ -3258,7 +3251,7 @@ static void cmd_unpair(int argc, char **argv) struct mgmt_cp_unpair_device cp; uint8_t type = BDADDR_BREDR; int opt; - uint16_t index = mgmt_index; + uint16_t index; while ((opt = getopt_long(argc, argv, "+t:h", unpair_options, NULL)) != -1) { @@ -3447,8 +3440,6 @@ static void cmd_irks(int argc, char **argv) } } - argc -= optind; - argv += optind; optind = 0; cp->irk_count = cpu_to_le16(count); @@ -4819,8 +4810,11 @@ static void cmd_add_adv(int argc, char **argv) memcpy(cp->data + 2, uuids, uuid_bytes - 2); } - memcpy(cp->data + uuid_bytes, adv_data, adv_len); - memcpy(cp->data + uuid_bytes + adv_len, scan_rsp, scan_rsp_len); + if (adv_len) + memcpy(cp->data + uuid_bytes, adv_data, adv_len); + + if (scan_rsp_len) + memcpy(cp->data + uuid_bytes + adv_len, scan_rsp, scan_rsp_len); if (!mgmt_send(mgmt, MGMT_OP_ADD_ADVERTISING, index, cp_len, cp, add_adv_rsp, NULL, NULL)) { @@ -5241,8 +5235,11 @@ static void cmd_add_ext_adv_data(int argc, char **argv) memcpy(cp->data + 2, uuids, uuid_bytes - 2); } - memcpy(cp->data + uuid_bytes, adv_data, adv_len); - memcpy(cp->data + uuid_bytes + adv_len, scan_rsp, scan_rsp_len); + if (adv_len) + memcpy(cp->data + uuid_bytes, adv_data, adv_len); + + if (scan_rsp_len) + memcpy(cp->data + uuid_bytes + adv_len, scan_rsp, scan_rsp_len); if (!mgmt_send(mgmt, MGMT_OP_ADD_EXT_ADV_DATA, index, cp_len, cp, add_ext_adv_data_rsp, NULL, NULL)) { -- 2.34.1