mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-07-17 08:14:07 -04:00
b834b80f05
Fix an incorrect bit shift when decoding aircraft registration markings from BDS 2,1 Comm-B messages. Coverity (CID 649088) reported that the expression '(data[7] & 0x1) >> 3' always evaluates to zero, causing one bit of the 6-bit character value to be discarded. The BDS 2,1 aircraft registration marking format encodes seven 6-bit characters. Based on the bit layout defined in ICAO Doc 9871 (Technical Provisions for Mode S Specific Services) and verified against independent implementations such as pyModeS/rs1090, the remaining bit from data[7] is the most significant bit of the character and must be shifted left, not right. Update the extraction to preserve this bit when combining it with the remaining bits from data[8]. Signed-off-by: Robin Getz <rgetz503@gmail.com>