From 0a730ff5dd499e9be4f9d8ba1cd60d062650c08b Mon Sep 17 00:00:00 2001 From: Roland Rossgotterer Date: Mon, 21 Oct 2019 10:03:39 +0200 Subject: [PATCH] [FSD] Make sure sysuid is properly zero terminated --- src/blackcore/fsd/fsdclient.cpp | 12 ++++++------ tests/blackcore/fsd/testfsdclient/testfsdclient.cpp | 5 ++--- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/blackcore/fsd/fsdclient.cpp b/src/blackcore/fsd/fsdclient.cpp index a48f4acbc..d710d1149 100644 --- a/src/blackcore/fsd/fsdclient.cpp +++ b/src/blackcore/fsd/fsdclient.cpp @@ -717,11 +717,11 @@ namespace BlackCore const int altitude = getOwnAircraft().getAltitude().valueInteger(CLengthUnit::ft()); const QString realName = m_server.getUser().getRealName(); - char sysuid[50]; - vatsim_get_system_unique_id(sysuid); + std::array sysuid = {}; + vatsim_get_system_unique_id(sysuid.data()); 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) % " " % realName; @@ -743,10 +743,10 @@ namespace BlackCore void CFSDClient::sendClientIdentification(const QString &fsdChallenge) { - char sysuid[50]; - vatsim_get_system_unique_id(sysuid); + std::array sysuid = {}; + vatsim_get_system_unique_id(sysuid.data()); 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->sendLogin(); this->updateConnectionStatus(CConnectionStatus::Connected); diff --git a/tests/blackcore/fsd/testfsdclient/testfsdclient.cpp b/tests/blackcore/fsd/testfsdclient/testfsdclient.cpp index d67b0fb2d..ea8ff97fb 100644 --- a/tests/blackcore/fsd/testfsdclient/testfsdclient.cpp +++ b/tests/blackcore/fsd/testfsdclient/testfsdclient.cpp @@ -766,9 +766,8 @@ namespace BlackFsdTest vatsim_auth_generate_challenge(auth, buffer); QVERIFY(QString(buffer).length() > 0); - char sysuid[50]; - vatsim_get_system_unique_id(sysuid); - qDebug() << sysuid; + std::array sysuid = {}; + vatsim_get_system_unique_id(sysuid.data()); **/ }