Enforce correct ABI in callback

This commit is contained in:
Connor Harrison
2025-07-19 21:47:31 +01:00
parent 3dbfa16f0c
commit 0ee992db26

View File

@@ -1719,7 +1719,10 @@ int usbi_handle_transfer_completion(struct usbi_transfer *itransfer,
(void *) transfer, transfer->callback);
if (transfer->callback) {
libusb_lock_event_waiters (ctx);
transfer->callback(transfer);
typedef void sysv_callback_t(struct libusb_transfer*) __attribute__((sysv_abi));
((sysv_callback_t*)transfer->callback)(transfer);
libusb_unlock_event_waiters(ctx);
}
/* transfer might have been freed by the above call, do not use from