summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2020-08-02 10:00:58 -0400
committerGitHub <noreply@github.com>2020-08-02 10:00:58 -0400
commit04117cdb1ca810e20faeddd31ad46725e4c4d53d (patch)
tree4d5870f7ceccbcb1124bdd9a7afd0c4ccddf3b13 /src
parent03eba6a62ca88a70e1880fdcd76430f30aece75f (diff)
parentd072897354b1b2dd8619329dd965a87c2eaf52af (diff)
Merge pull request #1120 from DizzyEggg/patch-5
Fix UB in event_object_movement.c
Diffstat (limited to 'src')
-rw-r--r--src/event_object_movement.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index 6c49b9115..a076a2a22 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -2340,7 +2340,13 @@ const u8 *GetObjectEventScriptPointerByObjectEventId(u8 objectEventId)
static u16 GetObjectEventFlagIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup)
{
- return GetObjectEventTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->flagId;
+ struct ObjectEventTemplate *obj = GetObjectEventTemplateByLocalIdAndMap(localId, mapNum, mapGroup);
+#ifdef UBFIX
+ // BUG: The function may return NULL, and attempting to read from NULL may freeze the game using modern compilers.
+ if (obj == NULL)
+ return 0;
+#endif // UBFIX
+ return obj->flagId;
}
static u16 GetObjectEventFlagIdByObjectEventId(u8 objectEventId)