diff --git a/src/core/cntlr_map_debug.c b/src/core/cntlr_map_debug.c index e82d356820ab244d4d923f8cb05b4541c81172f4..5f018ace88026e1b881f47003da3b49ee478bc6e 100644 --- a/src/core/cntlr_map_debug.c +++ b/src/core/cntlr_map_debug.c @@ -93,7 +93,9 @@ struct tlv_ap_oper_bss { */ struct tlv_ap_oper_bss *tlv = (struct tlv_ap_oper_bss *)tv[1][0]->data; uint8_t *data = (uint8_t *) tlv + 1; - int i; + int i, offset = 0; + + offset += 1; trace("TLV: %s\n", map_stringify_tlv_type(tv[1][0]->type)); @@ -103,11 +105,11 @@ struct tlv_ap_oper_bss { int j; trace("\t\tradio_id: " MACFMT "\n", - MAC2STR(data)); - data += 6; + MAC2STR(&tlv[offset])); + offset += 6; - num_bss = *data; - data += 1; + memcpy(&num_bss, &tlv[offset], 1); + offset += 1; trace("\t\tbss_nr: %d\n", num_bss); @@ -115,18 +117,18 @@ struct tlv_ap_oper_bss { uint8_t ssidlen = 0; trace("\t\t\tbssid: " MACFMT "\n", - MAC2STR(data)); - data += 6; + MAC2STR(&tlv[offset])); + offset += 6; - ssidlen = *data; + memcpy(&ssidlen, &tlv[offset], 1); trace("\t\t\tssid_len: %d\n", ssidlen); - data += 1; + offset += 1; trace("\t\t\tssid: %.*s\n", ssidlen, - data); - data += ssidlen; + &tlv[offset]); + offset += ssidlen; } } } @@ -146,8 +148,9 @@ struct tlv_assoc_client { } __attribute__((packed)); */ struct tlv_assoc_client *tlv = (struct tlv_assoc_client *)tv[2][0]->data; - uint8_t *data = (uint8_t *) tlv + 1; - int i; + int i, offset = 0; + + offset += 1; trace("TLV: %s\n", map_stringify_tlv_type(tv[2][0]->type)); @@ -158,22 +161,22 @@ struct tlv_assoc_client { int j; trace("\t\tbssid: " MACFMT "\n", - MAC2STR(data)); - data += 6; + MAC2STR(&tlv[offset])); + offset += 6; - num_client = BUF_GET_BE16(data); - data += 2; + num_client = BUF_GET_BE16(tlv[offset]); + offset += 2; trace("\t\tassoc_clients_nr: %u\n", num_client); for (j = 0; j < num_client; j++) { uint16_t conntime = 0; trace("\t\t\tclient_addr: " MACFMT "\n", - MAC2STR(data)); - data += 6; + MAC2STR(&tlv[offset])); + offset += 6; - conntime = BUF_GET_BE16(data); - data += 2; + conntime = BUF_GET_BE16(tlv[offset]); + offset += 2; trace("\t\t\tuptime: 0x%04x\n", conntime); } }