(svn r7503) -Codechange: [NewGRF] Add bounds checking for spriteset cargo types. (NewCargo support will change this rule a bit...)
This commit is contained in:
10
newgrf.c
10
newgrf.c
@@ -1843,6 +1843,11 @@ static void FeatureMapSpriteGroup(byte *buf, int len)
|
||||
if (ctype == 0xFE) ctype = GC_DEFAULT_NA;
|
||||
if (ctype == 0xFF) ctype = GC_PURCHASE;
|
||||
|
||||
if (ctype >= NUM_GLOBAL_CID) {
|
||||
grfmsg(GMS_WARN, "FeatureMapSpriteGroup: Cargo type %d out of range, skipping.", ctype);
|
||||
continue;
|
||||
}
|
||||
|
||||
statspec->spritegroup[ctype] = _cur_grffile->spritegroups[groupid];
|
||||
}
|
||||
}
|
||||
@@ -1919,6 +1924,11 @@ static void FeatureMapSpriteGroup(byte *buf, int len)
|
||||
|
||||
if (ctype == GC_INVALID) ctype = GC_PURCHASE;
|
||||
|
||||
if (ctype >= NUM_GLOBAL_CID) {
|
||||
grfmsg(GMS_WARN, "FeatureMapSpriteGroup: Cargo type %d out of range, skipping.", ctype);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (wagover) {
|
||||
SetWagonOverrideSprites(engine, ctype, _cur_grffile->spritegroups[groupid], last_engines, last_engines_count);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user