浏览代码

Fix: prevent possible int16_t overflow

Evgeny Malygin 1 年之前
父节点
当前提交
54405e33bc
共有 2 个文件被更改,包括 3 次插入3 次删除
  1. 2 2
      client/globalLobby/GlobalLobbyClient.cpp
  2. 1 1
      server/GlobalLobbyProcessor.cpp

+ 2 - 2
client/globalLobby/GlobalLobbyClient.cpp

@@ -289,7 +289,7 @@ void GlobalLobbyClient::receiveJoinRoomSuccess(const JsonNode & json)
 		CSH->loadMode = ELoadMode::MULTI;
 
 		std::string hostname = settings["lobby"]["hostname"].String();
-		int16_t port = settings["lobby"]["port"].Integer();
+		uint16_t port = settings["lobby"]["port"].Integer();
 		CSH->connectToServer(hostname, port);
 	}
 
@@ -379,7 +379,7 @@ void GlobalLobbyClient::sendOpenRoom(const std::string & mode, int playerLimit)
 void GlobalLobbyClient::connect()
 {
 	std::string hostname = settings["lobby"]["hostname"].String();
-	int16_t port = settings["lobby"]["port"].Integer();
+	uint16_t port = settings["lobby"]["port"].Integer();
 	CSH->getNetworkHandler().connectToRemote(*this, hostname, port);
 }
 

+ 1 - 1
server/GlobalLobbyProcessor.cpp

@@ -24,7 +24,7 @@ GlobalLobbyProcessor::GlobalLobbyProcessor(CVCMIServer & owner)
 void GlobalLobbyProcessor::establishNewConnection()
 {
 	std::string hostname = settings["lobby"]["hostname"].String();
-	int16_t port = settings["lobby"]["port"].Integer();
+	uint16_t port = settings["lobby"]["port"].Integer();
 	owner.getNetworkHandler().connectToRemote(*this, hostname, port);
 }