mirror of https://github.com/OpenTTD/OpenTTD
(svn r16353) -Fix (r1): invalid read when OTTD savegame contains VEH_INVALID
parent
8808f3beea
commit
a0ff6363e6
|
@ -1260,7 +1260,7 @@ bool LoadOldVehicle(LoadgameState *ls, int num)
|
||||||
uint type = ReadByte(ls);
|
uint type = ReadByte(ls);
|
||||||
switch (type) {
|
switch (type) {
|
||||||
default: return false;
|
default: return false;
|
||||||
case 0x00 /* VEH_INVALID */: v = new (_current_vehicle_id) InvalidVehicle(); break;
|
case 0x00 /* VEH_INVALID */: v = new (_current_vehicle_id) InvalidVehicle(); break;
|
||||||
case 0x25 /* MONORAIL */:
|
case 0x25 /* MONORAIL */:
|
||||||
case 0x20 /* VEH_TRAIN */: v = new (_current_vehicle_id) Train(); break;
|
case 0x20 /* VEH_TRAIN */: v = new (_current_vehicle_id) Train(); break;
|
||||||
case 0x21 /* VEH_ROAD */: v = new (_current_vehicle_id) RoadVehicle(); break;
|
case 0x21 /* VEH_ROAD */: v = new (_current_vehicle_id) RoadVehicle(); break;
|
||||||
|
|
|
@ -698,7 +698,7 @@ void Load_VEHS()
|
||||||
case VEH_AIRCRAFT: v = new (index) Aircraft(); break;
|
case VEH_AIRCRAFT: v = new (index) Aircraft(); break;
|
||||||
case VEH_EFFECT: v = new (index) EffectVehicle(); break;
|
case VEH_EFFECT: v = new (index) EffectVehicle(); break;
|
||||||
case VEH_DISASTER: v = new (index) DisasterVehicle(); break;
|
case VEH_DISASTER: v = new (index) DisasterVehicle(); break;
|
||||||
case VEH_INVALID: v = new (index) InvalidVehicle(); break;
|
case VEH_INVALID: /* Savegame shouldn't contain invalid vehicles */
|
||||||
default: NOT_REACHED();
|
default: NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue