Problem
BleLocationData and BleAlertData structs in ble.hpp have alignment padding. When memcpy is used to copy these structs, padding bytes are included, sending garbage data over BLE.
For example, BleLocationData has int32_t x 4 + uint8_t = 17 bytes, but struct padding makes it 20 or 24 bytes.
Location
firmware/main/ble.hpp:23-38
Severity
HIGH - Garbage data sent over BLE, location/alert data corrupted
Suggested Fix
Add #pragma pack(1) before struct definitions, or explicitly add uint8_t reserved[X] to make serialization deterministic.
Problem
BleLocationDataandBleAlertDatastructs inble.hpphave alignment padding. Whenmemcpyis used to copy these structs, padding bytes are included, sending garbage data over BLE.For example,
BleLocationDatahasint32_tx 4 +uint8_t= 17 bytes, but struct padding makes it 20 or 24 bytes.Location
firmware/main/ble.hpp:23-38Severity
HIGH - Garbage data sent over BLE, location/alert data corrupted
Suggested Fix
Add
#pragma pack(1)before struct definitions, or explicitly adduint8_t reserved[X]to make serialization deterministic.