Skip to content

Commit

Permalink
Fix a rare crash case un SendPlayerHP
Browse files Browse the repository at this point in the history
If the player is disconnected while Lua API is doing a l_punch call, for example, the playersao is NULL and the server crash. Fix it.
  • Loading branch information
nerzhul committed Apr 11, 2015
1 parent 0a41326 commit ce8a9ed
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/server.cpp
Expand Up @@ -1802,7 +1802,11 @@ void Server::SendPlayerHP(u16 peer_id)
{
DSTACK(__FUNCTION_NAME);
PlayerSAO *playersao = getPlayerSAO(peer_id);
assert(playersao);
// In some rare case, if the player is disconnected
// while Lua call l_punch, for example, this can be NULL
if (!playersao)
return;

SendHP(peer_id, playersao->getHP());
m_script->player_event(playersao,"health_changed");

Expand Down

0 comments on commit ce8a9ed

Please sign in to comment.