From a75184642d5f8b010cf52a03444ebb9d00e9e74c Mon Sep 17 00:00:00 2001 From: Pithlit Date: Sat, 20 Apr 2024 14:47:06 +0200 Subject: [PATCH] fix: prevent segfault when template does not exist setTemplate now produces an error, if the chosen template does not exist. But the game no longer crashes with a segfault. --- src/spaceObjects/shipTemplateBasedObject.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/spaceObjects/shipTemplateBasedObject.cpp b/src/spaceObjects/shipTemplateBasedObject.cpp index f2f7b2e385..ed01db8891 100644 --- a/src/spaceObjects/shipTemplateBasedObject.cpp +++ b/src/spaceObjects/shipTemplateBasedObject.cpp @@ -437,6 +437,7 @@ float ShipTemplateBasedObject::getShieldRechargeRate(int shield_index) void ShipTemplateBasedObject::setTemplate(string template_name) { P new_ship_template = ShipTemplate::getTemplate(template_name); + if (!new_ship_template) return; this->template_name = template_name; ship_template = new_ship_template; type_name = template_name;