From 7e70ead39629c557c4580d1d66be0cdcc37480ec Mon Sep 17 00:00:00 2001 From: PeterN Date: Sun, 19 Sep 2021 21:52:08 +0100 Subject: [PATCH] Fix #9562: Handle case of invalid action2 with zero results. (#9564) --- src/newgrf.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 5ceadfd961..8a88e52032 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -5168,6 +5168,11 @@ static void NewSpriteGroup(ByteReader *buf) grfmsg(6, "NewSpriteGroup: New SpriteGroup 0x%02X, %u loaded, %u loading", setid, num_loaded, num_loading); + if (num_loaded + num_loading == 0) { + grfmsg(1, "NewSpriteGroup: no result, skipping invalid RealSpriteGroup"); + break; + } + if (num_loaded + num_loading == 1) { /* Avoid creating 'Real' sprite group if only one option. */ uint16 spriteid = buf->ReadWord();