about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/libwifi/gen/misc/radiotap.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libwifi/gen/misc/radiotap.c b/src/libwifi/gen/misc/radiotap.c index cc02097..366ee8c 100644 --- a/src/libwifi/gen/misc/radiotap.c +++ b/src/libwifi/gen/misc/radiotap.c
@@ -36,6 +36,11 @@ size_t libwifi_create_radiotap(struct libwifi_radiotap_info *info, char *radiota
36 uint32_t presence_bit = rtap_hdr.it_present; 36 uint32_t presence_bit = rtap_hdr.it_present;
37 for (int field = 0; field < radiotap_ns.n_bits; field++) { 37 for (int field = 0; field < radiotap_ns.n_bits; field++) {
38 if (presence_bit & 1) { 38 if (presence_bit & 1) {
39 uint8_t padding = offset % radiotap_ns.align_size[field].align;
40 if (padding > 0) {
41 memset(rtap_data + offset, 0, padding);
42 offset += padding;
43 }
39 switch (field) { 44 switch (field) {
40 case IEEE80211_RADIOTAP_CHANNEL: 45 case IEEE80211_RADIOTAP_CHANNEL:
41 memcpy(rtap_data + offset, &info->channel.freq, sizeof(info->channel.freq)); 46 memcpy(rtap_data + offset, &info->channel.freq, sizeof(info->channel.freq));