From 4ea204606624665fd7a55f92b623c32162a36237 Mon Sep 17 00:00:00 2001 From: milek7 Date: Fri, 26 May 2023 16:51:51 +0200 Subject: [PATCH] fix double-free when removing nonplayer TTrain --- Train.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Train.cpp b/Train.cpp index d25d9197..03a054ae 100644 --- a/Train.cpp +++ b/Train.cpp @@ -10581,9 +10581,8 @@ void train_table::update(double dt) if (simulation::Train == train) simulation::Train = nullptr; } - // for single-player destroy non-player trains - if (simulation::Train != train + else if (simulation::Train != train && Global.network_servers.empty() && !Global.network_client) { purge(train->Dynamic()->name()); }