# HG changeset patch # User tron # Date 1169797834 0 # Node ID 2ff9c5f3bfa423737265005d647755a33ec4a86a # Parent 15e33fa8f9f746704076c38a0e9dc0356cbfe90f (svn r8410) -Fix -Fix: Fix an out of bounds array access when assigning the engine type in the _engine array This usually hits the _engine_name_strings array and causes an invalid StringID, though it depends on the compiler which data structure gets placed after the _engines array. Most probably this was exposed by removing railtype from Engine, which changed the size of this struct. diff -r 15e33fa8f9f7 -r 2ff9c5f3bfa4 src/engine.cpp --- a/src/engine.cpp Fri Jan 26 00:25:39 2007 +0000 +++ b/src/engine.cpp Fri Jan 26 07:50:34 2007 +0000 @@ -113,7 +113,6 @@ do e->type = VEH_Road; while (++e < &_engines[SHIP_ENGINES_INDEX]); do e->type = VEH_Ship; while (++e < &_engines[AIRCRAFT_ENGINES_INDEX]); do e->type = VEH_Aircraft; while (++e < &_engines[TOTAL_NUM_ENGINES]); - do e->type = VEH_Special; while (++e < endof(_engines)); } void StartupEngines(void)