Browse Source

Fix double free in battleAfterLevelUp() in case of a draw

Vadim Markovtsev 10 năm trước cách đây
mục cha
commit
7185890723
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      server/CGameHandler.cpp

+ 1 - 1
server/CGameHandler.cpp

@@ -741,7 +741,7 @@ void CGameHandler::battleAfterLevelUp( const BattleResult &result )
 
 		sendAndApply(&sah);
 	}
-	if(finishingBattle->winnerHero && finishingBattle->winnerHero->stacks.empty())
+	if(result.winner != 2 && finishingBattle->winnerHero && finishingBattle->winnerHero->stacks.empty())
 	{
 		RemoveObject ro(finishingBattle->winnerHero->id);
 		sendAndApply(&ro);