From 8f59b04d32f5b2199030008daf7edd65c1cef029 Mon Sep 17 00:00:00 2001 From: Richard Jenkins Date: Mon, 17 Apr 2017 18:37:37 +0100 Subject: [PATCH] Fix #5377: Saved game keeps crashing shortly after loading Guard against null pointers in banner_paint() (#5379) --- contributors.md | 1 + src/openrct2/paint/map_element/banner.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/contributors.md b/contributors.md index b3791771d2..af19a430a0 100644 --- a/contributors.md +++ b/contributors.md @@ -76,6 +76,7 @@ Includes all git commit authors. Aliases are GitHub user names. * Jonathan Haas (HaasJona) * Jake Breen (Haekb) * Marco Benzi Tobar (Lisergishnu) +* Richard Jenkins (rwjuk) ## Toolchain * (Balletie) - macOS diff --git a/src/openrct2/paint/map_element/banner.c b/src/openrct2/paint/map_element/banner.c index ccfcd33af9..987064b756 100644 --- a/src/openrct2/paint/map_element/banner.c +++ b/src/openrct2/paint/map_element/banner.c @@ -48,6 +48,10 @@ void banner_paint(uint8 direction, sint32 height, rct_map_element* map_element) rct_scenery_entry* banner_scenery = get_banner_entry(gBanners[map_element->properties.banner.index].type); + if ((banner_scenery == (rct_scenery_entry *)-1) || (banner_scenery == NULL)) { + return; + } + direction += map_element->properties.banner.position; direction &= 3;