mirror of
https://github.com/ArduPilot/ardupilot.git
synced 2025-12-10 00:28:42 -06:00
it was possible for a runtime allocated subscriber, client or server to trigger a call to a pure virtual handle_message function in the HandlerList class as the constructor ordering inserts the handler into the list before the vtable pointer is updated to the vtable for the child class. The same issue happens on destructor this could happen in a couple of places in ArduPilot: - the MPPT battery driver does runtime allocation of a client on an R/C switch - the DroneCAN_Serial client is started after the thread starts so packet processing is started thanks to Thomas and Sid