mirror of
https://github.com/liyunfan1223/mod-playerbots.git
synced 2026-02-20 18:10:02 +01:00
- Added protection for unparsable data in worldposition contructor (#974)
This commit is contained in:
parent
624e48068e
commit
6749a4257b
@ -24,6 +24,8 @@ WorldPosition::WorldPosition(std::string const str)
|
|||||||
{
|
{
|
||||||
std::vector<std::string> tokens = split(str, '|');
|
std::vector<std::string> tokens = split(str, '|');
|
||||||
if (tokens.size() == 5)
|
if (tokens.size() == 5)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
m_mapId = std::stoi(tokens[0]);
|
m_mapId = std::stoi(tokens[0]);
|
||||||
m_positionX = std::stof(tokens[1]);
|
m_positionX = std::stof(tokens[1]);
|
||||||
@ -31,6 +33,15 @@ WorldPosition::WorldPosition(std::string const str)
|
|||||||
m_positionZ = std::stof(tokens[3]);
|
m_positionZ = std::stof(tokens[3]);
|
||||||
m_orientation = std::stof(tokens[4]);
|
m_orientation = std::stof(tokens[4]);
|
||||||
}
|
}
|
||||||
|
catch (const std::exception&)
|
||||||
|
{
|
||||||
|
m_mapId = 0;
|
||||||
|
m_positionX = 0.0f;
|
||||||
|
m_positionY = 0.0f;
|
||||||
|
m_positionZ = 0.0f;
|
||||||
|
m_orientation = 0.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WorldPosition::WorldPosition(uint32 mapId, const Position& pos)
|
WorldPosition::WorldPosition(uint32 mapId, const Position& pos)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user