diff options
| -rw-r--r-- | examples/parse_eapol/parse_eapol.c | 3 | ||||
| -rw-r--r-- | src/libwifi/gen/management/action.c | 8 | ||||
| -rw-r--r-- | utils/src/test_parsing.c | 3 |
3 files changed, 7 insertions, 7 deletions
| diff --git a/examples/parse_eapol/parse_eapol.c b/examples/parse_eapol/parse_eapol.c index e8f2827..fb42437 100644 --- a/examples/parse_eapol/parse_eapol.c +++ b/examples/parse_eapol/parse_eapol.c | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | #include <stdio.h> | 5 | #include <stdio.h> |
| 6 | #include <stdlib.h> | 6 | #include <stdlib.h> |
| 7 | #include <string.h> | 7 | #include <string.h> |
| 8 | #include <inttypes.h> | ||
| 8 | 9 | ||
| 9 | static int has_radiotap = 0; | 10 | static int has_radiotap = 0; |
| 10 | 11 | ||
| @@ -38,7 +39,7 @@ void handle_pkt(unsigned char *args, const struct pcap_pkthdr *header, const uns | |||
| 38 | printf("EAPOL: Descriptor: %d\n", data.descriptor); | 39 | printf("EAPOL: Descriptor: %d\n", data.descriptor); |
| 39 | printf("EAPOL: Key Info: Information: 0x%04x\n", data.key_info.information); | 40 | printf("EAPOL: Key Info: Information: 0x%04x\n", data.key_info.information); |
| 40 | printf("EAPOL: Key Info: Key Length: %d\n", data.key_info.key_length); | 41 | printf("EAPOL: Key Info: Key Length: %d\n", data.key_info.key_length); |
| 41 | printf("EAPOL: Key Info: Replay Counter: %llu\n", data.key_info.replay_counter); | 42 | printf("EAPOL: Key Info: Replay Counter: %" PRIu64 "\n", data.key_info.replay_counter); |
| 42 | printf("EAPOL: Key Info: Nonce: "); | 43 | printf("EAPOL: Key Info: Nonce: "); |
| 43 | for (size_t i = 0; i < sizeof(data.key_info.nonce); ++i) { | 44 | for (size_t i = 0; i < sizeof(data.key_info.nonce); ++i) { |
| 44 | printf("%02x ", data.key_info.nonce[i]); | 45 | printf("%02x ", data.key_info.nonce[i]); |
| diff --git a/src/libwifi/gen/management/action.c b/src/libwifi/gen/management/action.c index dc37987..644f07a 100644 --- a/src/libwifi/gen/management/action.c +++ b/src/libwifi/gen/management/action.c | |||
| @@ -22,7 +22,7 @@ | |||
| 22 | size_t libwifi_add_action_detail(struct libwifi_action_detail *detail, const unsigned char *data, | 22 | size_t libwifi_add_action_detail(struct libwifi_action_detail *detail, const unsigned char *data, |
| 23 | size_t data_len) { | 23 | size_t data_len) { |
| 24 | if (detail->detail_length != 0) { | 24 | if (detail->detail_length != 0) { |
| 25 | detail->detail = realloc(detail->detail, data_len); | 25 | detail->detail = realloc(detail->detail, data_len + detail->detail_length); |
| 26 | } else { | 26 | } else { |
| 27 | detail->detail = malloc(data_len); | 27 | detail->detail = malloc(data_len); |
| 28 | } | 28 | } |
| @@ -31,10 +31,8 @@ size_t libwifi_add_action_detail(struct libwifi_action_detail *detail, const uns | |||
| 31 | return -EINVAL; | 31 | return -EINVAL; |
| 32 | } | 32 | } |
| 33 | 33 | ||
| 34 | detail->detail_length = data_len; | 34 | memcpy(detail->detail + detail->detail_length, data, data_len); |
| 35 | 35 | detail->detail_length += data_len; | |
| 36 | memcpy(detail->detail, data, data_len); | ||
| 37 | detail->detail_length = data_len; | ||
| 38 | 36 | ||
| 39 | return detail->detail_length; | 37 | return detail->detail_length; |
| 40 | } | 38 | } |
| diff --git a/utils/src/test_parsing.c b/utils/src/test_parsing.c index b5e2d53..f21894c 100644 --- a/utils/src/test_parsing.c +++ b/utils/src/test_parsing.c | |||
| @@ -9,6 +9,7 @@ | |||
| 9 | #include <stdlib.h> | 9 | #include <stdlib.h> |
| 10 | #include <string.h> | 10 | #include <string.h> |
| 11 | #include <sys/types.h> | 11 | #include <sys/types.h> |
| 12 | #include <inttypes.h> | ||
| 12 | 13 | ||
| 13 | #define PCAP_SAVEFILE "/tmp/debug.pcap" | 14 | #define PCAP_SAVEFILE "/tmp/debug.pcap" |
| 14 | #define FILTER "" | 15 | #define FILTER "" |
| @@ -344,7 +345,7 @@ void parse_data_eapol(struct libwifi_frame frame, unsigned char *args, const str | |||
| 344 | printf("EAPOL: Descriptor: %d\n", data.descriptor); | 345 | printf("EAPOL: Descriptor: %d\n", data.descriptor); |
| 345 | printf("EAPOL: Key Info: Information: 0x%04x\n", data.key_info.information); | 346 | printf("EAPOL: Key Info: Information: 0x%04x\n", data.key_info.information); |
| 346 | printf("EAPOL: Key Info: Key Length: %d\n", data.key_info.key_length); | 347 | printf("EAPOL: Key Info: Key Length: %d\n", data.key_info.key_length); |
| 347 | printf("EAPOL: Key Info: Replay Counter: %llu\n", data.key_info.replay_counter); | 348 | printf("EAPOL: Key Info: Replay Counter: %" PRIu64 "\n", data.key_info.replay_counter); |
| 348 | printf("EAPOL: Key Info: Nonce: "); | 349 | printf("EAPOL: Key Info: Nonce: "); |
| 349 | for (size_t i = 0; i < sizeof(data.key_info.nonce); ++i) printf("%02x ", data.key_info.nonce[i]); | 350 | for (size_t i = 0; i < sizeof(data.key_info.nonce); ++i) printf("%02x ", data.key_info.nonce[i]); |
| 350 | printf("\n"); | 351 | printf("\n"); |
