From 108bc0b3d7154dff3bb040ca10d6ac09501f69d7 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 4 Mar 2025 13:20:01 +1100 Subject: [PATCH] DroneCAN: update libcanard for semaphore bug fix 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 --- modules/DroneCAN/libcanard | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/DroneCAN/libcanard b/modules/DroneCAN/libcanard index 6f74bc6765..9b05a4d8ee 160000 --- a/modules/DroneCAN/libcanard +++ b/modules/DroneCAN/libcanard @@ -1 +1 @@ -Subproject commit 6f74bc67656882a4ee51966c7c0022d04fa1a3fb +Subproject commit 9b05a4d8eebf82684053d07e6d04fe2b0c922a6e