diff --git a/adsbus/airspy_adsb.c b/adsbus/airspy_adsb.c index 797c1c9..eeac285 100644 --- a/adsbus/airspy_adsb.c +++ b/adsbus/airspy_adsb.c @@ -30,7 +30,7 @@ struct airspy_adsb_parser_state { static bool airspy_adsb_parse_packet(struct buf *buf, struct packet *packet, struct airspy_adsb_parser_state *state, enum packet_type type) { size_t payload_bytes = packet_payload_len[type]; - size_t overlay_start = 1 + payload_bytes; + size_t overlay_start = 1 + (payload_bytes * 2); struct airspy_adsb_overlay *overlay = (struct airspy_adsb_overlay *) buf_at(buf, overlay_start); size_t total_len = overlay_start + sizeof(*overlay); diff --git a/adsbus/raw.c b/adsbus/raw.c index c895f62..f0c6625 100644 --- a/adsbus/raw.c +++ b/adsbus/raw.c @@ -17,7 +17,7 @@ struct __attribute__((packed)) raw_overlay { static bool raw_parse_packet(struct buf *buf, struct packet *packet, enum packet_type type) { size_t payload_bytes = packet_payload_len[type]; - size_t overlay_start = 1 + payload_bytes; + size_t overlay_start = 1 + (payload_bytes * 2); struct raw_overlay *overlay = (struct raw_overlay *) buf_at(buf, overlay_start); size_t total_len = overlay_start + sizeof(*overlay);