[FSD] Make sure sysuid is properly zero terminated

This commit is contained in:
Roland Rossgotterer
2019-10-21 10:03:39 +02:00
committed by Klaus Basan
parent 25c82c4a6a
commit 0a730ff5dd
2 changed files with 8 additions and 9 deletions

View File

@@ -717,11 +717,11 @@ namespace BlackCore
const int altitude = getOwnAircraft().getAltitude().valueInteger(CLengthUnit::ft()); const int altitude = getOwnAircraft().getAltitude().valueInteger(CLengthUnit::ft());
const QString realName = m_server.getUser().getRealName(); const QString realName = m_server.getUser().getRealName();
char sysuid[50]; std::array<char, 50> sysuid = {};
vatsim_get_system_unique_id(sysuid); vatsim_get_system_unique_id(sysuid.data());
userInfo += QString("CID=") % cid % " " % m_clientName % " IP=" % m_socket.localAddress().toString() % userInfo += QString("CID=") % cid % " " % m_clientName % " IP=" % m_socket.localAddress().toString() %
" SYS_UID=" % sysuid % " FSVER=" % m_hostApplication % " LT=" % QString::number(latitude) % " SYS_UID=" % sysuid.data() % " FSVER=" % m_hostApplication % " LT=" % QString::number(latitude) %
" LO=" % QString::number(longitude) % " AL=" % QString::number(altitude) % " LO=" % QString::number(longitude) % " AL=" % QString::number(altitude) %
" " % realName; " " % realName;
@@ -743,10 +743,10 @@ namespace BlackCore
void CFSDClient::sendClientIdentification(const QString &fsdChallenge) void CFSDClient::sendClientIdentification(const QString &fsdChallenge)
{ {
char sysuid[50]; std::array<char, 50> sysuid = {};
vatsim_get_system_unique_id(sysuid); vatsim_get_system_unique_id(sysuid.data());
QString cid = m_server.getUser().getId(); QString cid = m_server.getUser().getId();
const ClientIdentification clientIdentification(m_ownCallsign.asString(), vatsim_auth_get_client_id(clientAuth), m_clientName, m_versionMajor, m_versionMinor, cid, sysuid, fsdChallenge); const ClientIdentification clientIdentification(m_ownCallsign.asString(), vatsim_auth_get_client_id(clientAuth), m_clientName, m_versionMajor, m_versionMinor, cid, sysuid.data(), fsdChallenge);
this->sendMessage(clientIdentification); this->sendMessage(clientIdentification);
this->sendLogin(); this->sendLogin();
this->updateConnectionStatus(CConnectionStatus::Connected); this->updateConnectionStatus(CConnectionStatus::Connected);

View File

@@ -766,9 +766,8 @@ namespace BlackFsdTest
vatsim_auth_generate_challenge(auth, buffer); vatsim_auth_generate_challenge(auth, buffer);
QVERIFY(QString(buffer).length() > 0); QVERIFY(QString(buffer).length() > 0);
char sysuid[50]; std::array<char, 50> sysuid = {};
vatsim_get_system_unique_id(sysuid); vatsim_get_system_unique_id(sysuid.data());
qDebug() << sysuid;
**/ **/
} }