mirror of https://github.com/OpenTTD/OpenTTD
(svn r2965) Fix: newgrf: Add bounds checking to VehicleChangeInfo for vehicles and change
station special case to vehicle special case.release/0.4.5
parent
a3b3c3cf31
commit
2f0616e9f2
9
newgrf.c
9
newgrf.c
|
@ -1046,10 +1046,13 @@ static void VehicleChangeInfo(byte *buf, int len)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (feature != GSF_STATION)
|
if (feature <= GSF_AIRCRAFT) {
|
||||||
|
if (engine + numinfo > _vehcounts[feature]) {
|
||||||
|
grfmsg(GMS_ERROR, "VehicleChangeInfo: Last engine ID %d out of bounds (max %d), skipping.", engine + numinfo, _vehcounts[feature]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
ei = &_engine_info[engine + _vehshifts[feature]];
|
ei = &_engine_info[engine + _vehshifts[feature]];
|
||||||
/* XXX - Should there not be a check to see if 'ei' is NULL
|
}
|
||||||
when it is used in the switch below?? -- TrueLight */
|
|
||||||
|
|
||||||
buf += 5;
|
buf += 5;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue