diff --git a/src/comm/MAVLinkProtocol.cc b/src/comm/MAVLinkProtocol.cc index b2ac86f513ef74c3e04134dc4e9e2380a0064e37..bad14173550262a09393a7ed0fe5662be31cf7e4 100644 --- a/src/comm/MAVLinkProtocol.cc +++ b/src/comm/MAVLinkProtocol.cc @@ -539,8 +539,8 @@ void MAVLinkProtocol::sendHeartbeat() { mavlink_message_t msg; mavlink_auth_key_t auth; - if (m_authKey.length() != MAVLINK_MSG_AUTH_KEY_FIELD_KEY_LEN) m_authKey.resize(MAVLINK_MSG_AUTH_KEY_FIELD_KEY_LEN); - strcpy(auth.key, m_authKey.toStdString().c_str()); + memset(auth, 0, sizeof(auth)); + memcpy(auth.key, m_authKey.toStdString().c_str(), qMin(m_authKey.length(), MAVLINK_MSG_AUTH_KEY_FIELD_KEY_LEN)); mavlink_msg_auth_key_encode(getSystemId(), getComponentId(), &msg, &auth); sendMessage(msg); }