Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
f5e60b5e
Commit
f5e60b5e
authored
Apr 12, 2017
by
Don Gagne
Browse files
Fix encode_chan usage
Must memset structures before use.
parent
173f35ac
Changes
8
Hide whitespace changes
Inline
Side-by-side
src/AutoPilotPlugins/APM/APMSensorsComponentController.cc
View file @
f5e60b5e
...
...
@@ -602,15 +602,12 @@ void APMSensorsComponentController::cancelCalibration(void)
void
APMSensorsComponentController
::
nextClicked
(
void
)
{
mavlink_message_t
msg
;
mavlink_command_ack_t
ack
;
ack
.
command
=
0
;
ack
.
result
=
1
;
mavlink_msg_command_ack_encode_chan
(
qgcApp
()
->
toolbox
()
->
mavlinkProtocol
()
->
getSystemId
(),
qgcApp
()
->
toolbox
()
->
mavlinkProtocol
()
->
getComponentId
(),
_vehicle
->
priorityLink
()
->
mavlinkChannel
(),
&
msg
,
&
ack
);
mavlink_msg_command_ack_pack_chan
(
qgcApp
()
->
toolbox
()
->
mavlinkProtocol
()
->
getSystemId
(),
qgcApp
()
->
toolbox
()
->
mavlinkProtocol
()
->
getComponentId
(),
_vehicle
->
priorityLink
()
->
mavlinkChannel
(),
&
msg
,
0
,
// command
1
);
// result
_vehicle
->
sendMessageOnLink
(
_vehicle
->
priorityLink
(),
msg
);
...
...
src/FactSystem/ParameterManager.cc
View file @
f5e60b5e
...
...
@@ -666,6 +666,8 @@ void ParameterManager::_writeParameterRaw(int componentId, const QString& paramN
mavlink_param_set_t
p
;
mavlink_param_union_t
union_value
;
memset
(
&
p
,
0
,
sizeof
(
p
));
FactMetaData
::
ValueType_t
factType
=
getParameter
(
componentId
,
paramName
)
->
type
();
p
.
param_type
=
_factTypeToMavType
(
factType
);
...
...
@@ -786,6 +788,7 @@ void ParameterManager::_tryCacheHashLoad(int vehicleId, int componentId, QVarian
// Return the hash value to notify we don't want any more updates
mavlink_param_set_t
p
;
mavlink_param_union_t
union_value
;
memset
(
&
p
,
0
,
sizeof
(
p
));
p
.
param_type
=
MAV_PARAM_TYPE_UINT32
;
strncpy
(
p
.
param_id
,
"_HASH_CHECK"
,
sizeof
(
p
.
param_id
));
union_value
.
param_uint32
=
crc32_value
;
...
...
src/FirmwarePlugin/APM/APMFirmwarePlugin.cc
View file @
f5e60b5e
...
...
@@ -228,6 +228,8 @@ void APMFirmwarePlugin::_handleIncomingParamValue(Vehicle* vehicle, mavlink_mess
mavlink_param_value_t
paramValue
;
mavlink_param_union_t
paramUnion
;
memset
(
&
paramValue
,
0
,
sizeof
(
paramValue
));
// APM stack passes all parameter values in mavlink_param_union_t.param_float no matter what
// type they are. Fix that up to correct usage.
...
...
@@ -278,6 +280,8 @@ void APMFirmwarePlugin::_handleOutgoingParamSet(Vehicle* vehicle, LinkInterface*
mavlink_param_set_t
paramSet
;
mavlink_param_union_t
paramUnion
;
memset
(
&
paramSet
,
0
,
sizeof
(
paramSet
));
// APM stack passes all parameter values in mavlink_param_union_t.param_float no matter what
// type they are. Fix it back to the wrong way on the way out.
...
...
src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.cc
View file @
f5e60b5e
...
...
@@ -184,7 +184,7 @@ void ArduCopterFirmwarePlugin::guidedModeChangeAltitude(Vehicle* vehicle, double
mavlink_message_t
msg
;
mavlink_set_position_target_local_ned_t
cmd
;
memset
(
&
cmd
,
0
,
sizeof
(
mavlink_set_position_target_local_ned_t
));
memset
(
&
cmd
,
0
,
sizeof
(
cmd
));
cmd
.
target_system
=
vehicle
->
id
();
cmd
.
target_component
=
vehicle
->
defaultComponentId
();
...
...
src/FollowMe/FollowMe.cc
View file @
f5e60b5e
...
...
@@ -119,7 +119,7 @@ void FollowMe::_sendGCSMotionReport(void)
MAVLinkProtocol
*
mavlinkProtocol
=
_toolbox
->
mavlinkProtocol
();
mavlink_follow_target_t
follow_target
;
memset
(
&
follow_target
,
0
,
sizeof
(
mavlink_
follow_target
_t
));
memset
(
&
follow_target
,
0
,
sizeof
(
follow_target
));
follow_target
.
timestamp
=
runTime
.
nsecsElapsed
()
*
1e-6
;
follow_target
.
est_capabilities
=
estimatation_capabilities
;
...
...
src/MissionManager/MissionManager.cc
View file @
f5e60b5e
...
...
@@ -110,6 +110,7 @@ void MissionManager::_writeMissionCount(void)
mavlink_message_t
message
;
mavlink_mission_count_t
missionCount
;
memset
(
&
missionCount
,
0
,
sizeof
(
missionCount
));
missionCount
.
target_system
=
_vehicle
->
id
();
missionCount
.
target_component
=
MAV_COMP_ID_MISSIONPLANNER
;
missionCount
.
count
=
_missionItems
.
count
();
...
...
@@ -137,6 +138,7 @@ void MissionManager::writeArduPilotGuidedMissionItem(const QGeoCoordinate& gotoC
mavlink_message_t
messageOut
;
mavlink_mission_item_t
missionItem
;
memset
(
&
missionItem
,
8
,
sizeof
(
missionItem
));
missionItem
.
target_system
=
_vehicle
->
id
();
missionItem
.
target_component
=
_vehicle
->
defaultComponentId
();
missionItem
.
seq
=
0
;
...
...
@@ -191,6 +193,8 @@ void MissionManager::_requestList(void)
mavlink_message_t
message
;
mavlink_mission_request_list_t
request
;
memset
(
&
request
,
0
,
sizeof
(
request
));
_itemIndicesToRead
.
clear
();
_clearMissionItems
();
...
...
@@ -306,6 +310,8 @@ void MissionManager::_readTransactionComplete(void)
mavlink_message_t
message
;
mavlink_mission_ack_t
missionAck
;
memset
(
&
missionAck
,
0
,
sizeof
(
missionAck
));
missionAck
.
target_system
=
_vehicle
->
id
();
missionAck
.
target_component
=
MAV_COMP_ID_MISSIONPLANNER
;
...
...
@@ -360,6 +366,7 @@ void MissionManager::_requestNextMissionItem(void)
if
(
_vehicle
->
supportsMissionItemInt
())
{
mavlink_mission_request_int_t
missionRequest
;
memset
(
&
missionRequest
,
0
,
sizeof
(
missionRequest
));
missionRequest
.
target_system
=
_vehicle
->
id
();
missionRequest
.
target_component
=
MAV_COMP_ID_MISSIONPLANNER
;
missionRequest
.
seq
=
_itemIndicesToRead
[
0
];
...
...
@@ -372,6 +379,7 @@ void MissionManager::_requestNextMissionItem(void)
}
else
{
mavlink_mission_request_t
missionRequest
;
memset
(
&
missionRequest
,
0
,
sizeof
(
missionRequest
));
missionRequest
.
target_system
=
_vehicle
->
id
();
missionRequest
.
target_component
=
MAV_COMP_ID_MISSIONPLANNER
;
missionRequest
.
seq
=
_itemIndicesToRead
[
0
];
...
...
@@ -523,7 +531,7 @@ void MissionManager::_handleMissionRequest(const mavlink_message_t& message, boo
if
(
missionItemInt
)
{
mavlink_mission_item_int_t
missionItem
;
memset
(
&
missionItem
,
0
,
sizeof
(
missionItem
));
missionItem
.
target_system
=
_vehicle
->
id
();
missionItem
.
target_component
=
MAV_COMP_ID_MISSIONPLANNER
;
missionItem
.
seq
=
missionRequest
.
seq
;
...
...
@@ -547,6 +555,7 @@ void MissionManager::_handleMissionRequest(const mavlink_message_t& message, boo
}
else
{
mavlink_mission_item_t
missionItem
;
memset
(
&
missionItem
,
0
,
sizeof
(
missionItem
));
missionItem
.
target_system
=
_vehicle
->
id
();
missionItem
.
target_component
=
MAV_COMP_ID_MISSIONPLANNER
;
missionItem
.
seq
=
missionRequest
.
seq
;
...
...
src/Vehicle/Vehicle.cc
View file @
f5e60b5e
...
...
@@ -1523,6 +1523,8 @@ void Vehicle::requestDataStream(MAV_DATA_STREAM stream, uint16_t rate, bool send
mavlink_message_t
msg
;
mavlink_request_data_stream_t
dataStream
;
memset
(
&
dataStream
,
0
,
sizeof
(
dataStream
));
dataStream
.
req_stream_id
=
stream
;
dataStream
.
req_message_rate
=
rate
;
dataStream
.
start_stop
=
1
;
// start
...
...
@@ -2079,6 +2081,7 @@ void Vehicle::_sendMavCommandAgain(void)
mavlink_message_t
msg
;
mavlink_command_long_t
cmd
;
memset
(
&
cmd
,
0
,
sizeof
(
cmd
));
cmd
.
command
=
queuedCommand
.
command
;
cmd
.
confirmation
=
0
;
cmd
.
param1
=
queuedCommand
.
rgParam
[
0
];
...
...
@@ -2304,6 +2307,7 @@ void Vehicle::_ackMavlinkLogData(uint16_t sequence)
{
mavlink_message_t
msg
;
mavlink_logging_ack_t
ack
;
memset
(
&
ack
,
0
,
sizeof
(
ack
));
ack
.
sequence
=
sequence
;
ack
.
target_component
=
_defaultComponentId
;
ack
.
target_system
=
id
();
...
...
src/comm/MockLinkMissionItemHandler.cc
View file @
f5e60b5e
...
...
@@ -240,6 +240,7 @@ void MockLinkMissionItemHandler::_requestNextMissionItem(int sequenceNumber)
mavlink_message_t
message
;
mavlink_mission_request_t
missionRequest
;
memset
(
&
missionRequest
,
0
,
sizeof
(
missionRequest
));
missionRequest
.
target_system
=
_mavlinkProtocol
->
getSystemId
();
missionRequest
.
target_component
=
_mavlinkProtocol
->
getComponentId
();
missionRequest
.
seq
=
sequenceNumber
;
...
...
@@ -264,6 +265,7 @@ void MockLinkMissionItemHandler::_sendAck(MAV_MISSION_RESULT ackType)
mavlink_message_t
message
;
mavlink_mission_ack_t
missionAck
;
memset
(
&
missionAck
,
0
,
sizeof
(
missionAck
));
missionAck
.
target_system
=
_mavlinkProtocol
->
getSystemId
();
missionAck
.
target_component
=
_mavlinkProtocol
->
getComponentId
();
missionAck
.
type
=
ackType
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment