diff --git a/src/agent.c b/src/agent.c index 1ca65a857141ddbd60098bf88da39623a63ca094..1ec43cceca7a396015e56c966a8e04edada0f64f 100644 --- a/src/agent.c +++ b/src/agent.c @@ -2426,7 +2426,7 @@ static void check_protocol(const char *framestr, uint8_t *protocol) int len; len = strlen(framestr); - len = (len - 1)/2; + len = len / 2; frame = calloc(len, sizeof(uint8_t)); if (!frame) return; @@ -3158,7 +3158,7 @@ static void wifi_sta_event_handler(void *c, struct blob_attr *msg) framestr = (char *)blobmsg_data(data[1]); len = strlen(framestr); - len = (len - 1) / 2; + len = len / 2; frame = calloc(len, sizeof(uint8_t)); if (!frame) return; @@ -5986,8 +5986,8 @@ static void parse_beacon_params(struct ubus_request *req, int type, int i, slen, esp_len; int ac; /* Access Category */ - slen = strlen(iestr); - ie = calloc(slen/2, sizeof(uint8_t)); + slen = strlen(iestr) / 2; + ie = calloc(slen, sizeof(uint8_t)); if (!ie) { free(iestr); return; @@ -6037,8 +6037,8 @@ static void parse_beacon_params(struct ubus_request *req, int type, uint8_t *ie; int slen, len; - slen = strlen(iestr); - ie = calloc(slen / 2, sizeof(uint8_t)); + slen = strlen(iestr) / 2; + ie = calloc(slen, sizeof(uint8_t)); if (!ie) { free(iestr); return; diff --git a/src/agent_map.c b/src/agent_map.c index 79d5e407e04dd901f06210cde64567b992ef655e..6b7716d60e7d6b5bcca6832fd8af405ccfbd46b0 100644 --- a/src/agent_map.c +++ b/src/agent_map.c @@ -6220,7 +6220,7 @@ int prepare_tunneled_message(void *agent, const char *ifname, return -1; len = strlen(framestr); - len = (len - 1) / 2; + len = len / 2; frame = calloc(len, sizeof(uint8_t)); if (!frame) return -1; diff --git a/src/utils/1905_ubus.c b/src/utils/1905_ubus.c index a5b3f176365142991cfb93692c0d739239f6174f..31604b597762ff35ef1b82aeb17b60e6b49e2850 100644 --- a/src/utils/1905_ubus.c +++ b/src/utils/1905_ubus.c @@ -76,9 +76,9 @@ static void ieee1905_ubus_buildcmdu_cb(struct ubus_request *req, dbg("|%s:%d| type = %u data = %s\n", __func__, __LINE__, cmdu_type, data); - b_len = (strlen(data)/2) - 3; + b_len = strlen(data) / 2; - tlv = (uint8_t *) calloc(1, b_len); + tlv = (uint8_t *)calloc(1, b_len); if (!tlv) { err("%s: No memory\n", __func__); ctx->status = -1; @@ -87,6 +87,7 @@ static void ieee1905_ubus_buildcmdu_cb(struct ubus_request *req, strtob(data, b_len, tlv); + b_len = b_len - 3; *buff = cmdu_alloc_custom(cmdu_type, &mid, NULL, origin, tlv, b_len); free(tlv);