diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index ef56be6e0d3bae8d8ec3f231601a43d230fa5ae8..9062607def6edecbfab2126df4c15c1634b7db7e 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -3389,6 +3389,7 @@ void Vehicle::requestMessage(RequestMessageResultHandler resultHandler, void* re { RequestMessageInfo_t* pInfo = new RequestMessageInfo_t; + *pInfo = { }; pInfo->msgId = messageId; pInfo->compId = compId; pInfo->resultHandler = resultHandler; diff --git a/src/Vehicle/Vehicle.h b/src/Vehicle/Vehicle.h index 7ebaafdde81902dd735e219efa2f8f8c5296a559..6ca5b53beae5a988e7dfc59c4d084c4a0b83929d 100644 --- a/src/Vehicle/Vehicle.h +++ b/src/Vehicle/Vehicle.h @@ -1582,12 +1582,12 @@ private: // requestMessage handling typedef struct { - bool commandAckReceived = false; // We keep track of the ack/message being received since the order in which this will come in is random - bool messageReceived = false; // We only delete the allocated RequestMessageInfo_t when both happen (or the message wait times out) - int msgId = 0; - int compId = 0; - RequestMessageResultHandler resultHandler = nullptr; - void* resultHandlerData = nullptr; + bool commandAckReceived; // We keep track of the ack/message being received since the order in which this will come in is random + bool messageReceived; // We only delete the allocated RequestMessageInfo_t when both happen (or the message wait times out) + int msgId; + int compId; + RequestMessageResultHandler resultHandler; + void* resultHandlerData; } RequestMessageInfo_t; static void _requestMessageCmdResultHandler (void* resultHandlerData, int compId, MAV_RESULT result, bool noResponsefromVehicle);