(svn r8410) -Fix
authortron
Fri, 26 Jan 2007 07:50:34 +0000
changeset 6091 ad29de8c6860
parent 6090 21f2934dee5c
child 6092 cb42399ba6e5
(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.
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)