From 33da12a8d364f7d280b7ebda142dad66824e8540 Mon Sep 17 00:00:00 2001 From: ShelbyZ Date: Wed, 1 Nov 2017 22:24:50 -0700 Subject: [PATCH] gcc warnings - uint64_t format errors using define SCNu64 - sprintf without format string replacing with strcpy (might be better to move to strncpy or something else) - use return value of fread(...) - use return value of system(...) --- src/servers/Server_Common/Database/Database.h | 14 ++++---------- src/servers/Server_Lobby/GameConnection.cpp | 2 +- src/servers/Server_Zone/Actor/PlayerSql.cpp | 2 +- .../DebugCommand/DebugCommandHandler.cpp | 4 +++- src/servers/Server_Zone/Network/GameConnection.cpp | 6 +++++- .../Network/Handlers/GMCommandHandlers.cpp | 2 +- .../Network/Handlers/PacketHandlers.cpp | 4 ++-- .../Network/PacketWrappers/InitUIPacket.h | 2 +- src/tools/quest_parser/main.cpp | 6 +++++- 9 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/servers/Server_Common/Database/Database.h b/src/servers/Server_Common/Database/Database.h index cce94691..b40d0394 100644 --- a/src/servers/Server_Common/Database/Database.h +++ b/src/servers/Server_Common/Database/Database.h @@ -3,6 +3,7 @@ #include #include +#include #include @@ -38,18 +39,11 @@ namespace Db { { if( m_pValue ) { - #ifdef _WIN32 uint64_t value; - sscanf( m_pValue, "%I64d", &value ); + sscanf( m_pValue, "%" SCNu64, &value ); return value; - #else - uint64_t value; - sscanf( m_pValue, "%Lu", &value ); - return value; - - #endif - } - else + } + else return 0; } diff --git a/src/servers/Server_Lobby/GameConnection.cpp b/src/servers/Server_Lobby/GameConnection.cpp index a2b0d0b2..1256dca2 100644 --- a/src/servers/Server_Lobby/GameConnection.cpp +++ b/src/servers/Server_Lobby/GameConnection.cpp @@ -139,7 +139,7 @@ void Core::Network::GameConnection::getCharList( FFXIVARR_PACKET_RAW& packet, ui serverListPacket.data().server[0].id = g_serverLobby.getConfig()->getValue( "Settings.Parameters.WorldID", 1 ); serverListPacket.data().server[0].index = 0; serverListPacket.data().final = 1; - sprintf( serverListPacket.data().server[0].name, g_serverLobby.getConfig()->getValue< std::string >( "Settings.Parameters.WorldName", "Sapphire" ).c_str() ); + strcpy( serverListPacket.data().server[0].name, g_serverLobby.getConfig()->getValue< std::string >( "Settings.Parameters.WorldName", "Sapphire" ).c_str() ); pRP.addPacket( serverListPacket ); diff --git a/src/servers/Server_Zone/Actor/PlayerSql.cpp b/src/servers/Server_Zone/Actor/PlayerSql.cpp index 23ed16f0..8c8be85e 100644 --- a/src/servers/Server_Zone/Actor/PlayerSql.cpp +++ b/src/servers/Server_Zone/Actor/PlayerSql.cpp @@ -273,7 +273,7 @@ bool Core::Entity::Player::loadSearchInfo() m_searchSelectClass = field[1].get< uint8_t >(); m_searchSelectRegion = field[2].get< uint8_t >(); - sprintf( m_searchMessage, field[3].getString().c_str() ); + strcpy( m_searchMessage, field[3].getString().c_str() ); return true; } diff --git a/src/servers/Server_Zone/DebugCommand/DebugCommandHandler.cpp b/src/servers/Server_Zone/DebugCommand/DebugCommandHandler.cpp index 0284a1e9..de49442f 100644 --- a/src/servers/Server_Zone/DebugCommand/DebugCommandHandler.cpp +++ b/src/servers/Server_Zone/DebugCommand/DebugCommandHandler.cpp @@ -31,6 +31,8 @@ #include "src/servers/Server_Zone/Session.h" #include +#include + extern Core::Db::Database g_database; extern Core::Scripting::ScriptManager g_scriptMgr; extern Core::Data::ExdData g_exdData; @@ -256,7 +258,7 @@ void Core::DebugCommandHandler::set( char * data, Core::Entity::PlayerPtr pPlaye else if ( subCommand == "eorzeatime" ) { uint64_t timestamp; - sscanf( params.c_str(), "%llu", ×tamp ); + sscanf( params.c_str(), "%" SCNu64, ×tamp ); pPlayer->setEorzeaTimeOffset( timestamp ); pPlayer->sendNotice( "Eorzea time offset: " + std::to_string( timestamp ) ); diff --git a/src/servers/Server_Zone/Network/GameConnection.cpp b/src/servers/Server_Zone/Network/GameConnection.cpp index a9ce9353..b5f046a3 100644 --- a/src/servers/Server_Zone/Network/GameConnection.cpp +++ b/src/servers/Server_Zone/Network/GameConnection.cpp @@ -329,7 +329,11 @@ void Core::Network::GameConnection::injectPacket( const std::string& packetpath, fseek( fp, 0, SEEK_END ); int32_t size = ftell( fp ); rewind( fp ); - fread( packet, sizeof( char ), size, fp ); + if ( fread( packet, sizeof( char ), size, fp ) != size ) + { + g_log.error( "Packet " + packetpath + " did not read full size: " + std::to_string( size ) ); + return; + } fclose( fp ); // cycle through the packet entries and queue each one diff --git a/src/servers/Server_Zone/Network/Handlers/GMCommandHandlers.cpp b/src/servers/Server_Zone/Network/Handlers/GMCommandHandlers.cpp index 3d79409e..c1d855b0 100644 --- a/src/servers/Server_Zone/Network/Handlers/GMCommandHandlers.cpp +++ b/src/servers/Server_Zone/Network/Handlers/GMCommandHandlers.cpp @@ -335,7 +335,7 @@ void Core::Network::GameConnection::gm1Handler( const Packets::GamePacket& inPac GamePacketNew< FFXIVIpcSetSearchInfo, ServerZoneIpcType > searchInfoPacket( targetPlayer->getId() ); searchInfoPacket.data().onlineStatusFlags = param1; searchInfoPacket.data().selectRegion = targetPlayer->getSearchSelectRegion(); - sprintf( searchInfoPacket.data().searchMessage, targetPlayer->getSearchMessage() ); + strcpy( searchInfoPacket.data().searchMessage, targetPlayer->getSearchMessage() ); targetPlayer->queuePacket( searchInfoPacket ); targetPlayer->sendToInRangeSet( ActorControlPacket142( pPlayer->getId(), SetStatusIcon, diff --git a/src/servers/Server_Zone/Network/Handlers/PacketHandlers.cpp b/src/servers/Server_Zone/Network/Handlers/PacketHandlers.cpp index fc8add9f..7db524a6 100644 --- a/src/servers/Server_Zone/Network/Handlers/PacketHandlers.cpp +++ b/src/servers/Server_Zone/Network/Handlers/PacketHandlers.cpp @@ -84,7 +84,7 @@ void Core::Network::GameConnection::setSearchInfoHandler( const Packets::GamePac GamePacketNew< FFXIVIpcSetSearchInfo, ServerZoneIpcType > searchInfoPacket( pPlayer->getId() ); searchInfoPacket.data().onlineStatusFlags = status; searchInfoPacket.data().selectRegion = pPlayer->getSearchSelectRegion(); - sprintf( searchInfoPacket.data().searchMessage, pPlayer->getSearchMessage() ); + strcpy( searchInfoPacket.data().searchMessage, pPlayer->getSearchMessage() ); queueOutPacket( searchInfoPacket ); pPlayer->sendToInRangeSet( ActorControlPacket142( pPlayer->getId(), SetStatusIcon, @@ -98,7 +98,7 @@ void Core::Network::GameConnection::reqSearchInfoHandler( const Packets::GamePac GamePacketNew< FFXIVIpcInitSearchInfo, ServerZoneIpcType > searchInfoPacket( pPlayer->getId() ); searchInfoPacket.data().onlineStatusFlags = pPlayer->getOnlineStatusMask(); searchInfoPacket.data().selectRegion = pPlayer->getSearchSelectRegion(); - sprintf( searchInfoPacket.data().searchMessage, pPlayer->getSearchMessage() ); + strcpy( searchInfoPacket.data().searchMessage, pPlayer->getSearchMessage() ); queueOutPacket( searchInfoPacket ); } diff --git a/src/servers/Server_Zone/Network/PacketWrappers/InitUIPacket.h b/src/servers/Server_Zone/Network/PacketWrappers/InitUIPacket.h index e28f87e1..f7feaeee 100644 --- a/src/servers/Server_Zone/Network/PacketWrappers/InitUIPacket.h +++ b/src/servers/Server_Zone/Network/PacketWrappers/InitUIPacket.h @@ -51,7 +51,7 @@ private: memset( &m_data.name[0], 0, sizeof( m_data.name ) ); - sprintf( &m_data.name[0], player->getName().c_str() ); + strcpy( &m_data.name[0], player->getName().c_str() ); memcpy( m_data.aetheryte, player->getAetheryteArray(), sizeof ( m_data.aetheryte ) ); diff --git a/src/tools/quest_parser/main.cpp b/src/tools/quest_parser/main.cpp index ff5bc70b..acd644ef 100644 --- a/src/tools/quest_parser/main.cpp +++ b/src/tools/quest_parser/main.cpp @@ -303,7 +303,11 @@ int main() outputFile1.write(§ion[0], section.size()); outputFile1.close(); std::string command= std::string("java -jar unluac_2015_06_13.jar ") + "generated/" + questInfo->name_intern + ".luab" + ">> " + "generated/" + questInfo->name_intern + ".lua"; - system(command.c_str()); + if ( system( command.c_str() ) == -1 ) + { + g_log.error( "Error executing java command:\n" + command + "\nerrno: " + std::strerror( errno ) ); + return errno; + } for( ; ; ) {