changeset 3667:813e5df222b7 draft

(svn r4582) - NewGRF: include an additional check to see if a spriteset id is within range.
author peter1138 <peter1138@openttd.org>
date Wed, 26 Apr 2006 20:18:29 +0000
parents fc085cd4d539
children 4b443d0d50e5
files newgrf.c
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/newgrf.c
+++ b/newgrf.c
@@ -1319,6 +1319,11 @@
 {
 	if (HASBIT(spriteid, 15)) return NewCallBackResultSpriteGroup(spriteid);
 
+	if (spriteid >= _cur_grffile->spriteset_numsets) {
+		grfmsg(GMS_WARN, "NewSpriteGroup(0x%02X:0x%02X): Sprite set %u invalid, max %u", setid, type, spriteid, _cur_grffile->spriteset_numsets);
+		return NULL;
+	}
+
 	/* Check if the sprite is within range. This can fail if the Action 0x01
 	 * is skipped, as TTDPatch mandates that Action 0x02s must be processed.
 	 * We don't have that rule, but must live by the Patch... */