diff options
| author | MegaMech <MegaMech@users.noreply.github.com> | 2025-07-09 16:36:56 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-09 16:36:56 -0600 |
| commit | ccb018357a587b554070855a88ff8790390144f6 (patch) | |
| tree | 92453006ec0c4b0466669801f0956e153e27c6b2 | |
| parent | 5277fced87de9f48455e862eb41b3cda1ce62c66 (diff) | |
Fix some UB (#438)
* Update Game.cpp
* Update actors_extended.c
* Update Game.cpp
| -rw-r--r-- | src/port/Game.cpp | 4 | ||||
| -rw-r--r-- | src/racing/actors_extended.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/port/Game.cpp b/src/port/Game.cpp index f144664d6..4a9bdcfc4 100644 --- a/src/port/Game.cpp +++ b/src/port/Game.cpp @@ -619,7 +619,7 @@ struct Actor* CM_GetActor(size_t index) { size_t CM_FindActorIndex(Actor* actor) { // Move the ptr back to look at the vtable. // This gets us the proper C++ class instead of just the variables used in C. - AActor* a = reinterpret_cast<AActor*>((char*) actor - sizeof(void*)); + AActor* a = reinterpret_cast<AActor*>(reinterpret_cast<char*>(actor) - sizeof(void*)); auto actors = gWorldInstance.Actors; auto it = std::find(actors.begin(), actors.end(), static_cast<AActor*>(a)); @@ -627,7 +627,7 @@ size_t CM_FindActorIndex(Actor* actor) { return std::distance(actors.begin(), it); } printf("FindActorIndex() actor not found\n"); - return 0; + return -1; } void CM_DeleteActor(size_t index) { diff --git a/src/racing/actors_extended.c b/src/racing/actors_extended.c index 0aed659ad..c21eb6918 100644 --- a/src/racing/actors_extended.c +++ b/src/racing/actors_extended.c @@ -721,7 +721,7 @@ void func_802B2914(struct BananaBunchParent* banana_bunch, Player* player, s16 b func_802B4E30((struct Actor*) newBanana); newBanana->flags = 0x9000; newBanana->playerId = player - gPlayerOne; - newBanana->parentIndex = (struct Actor*) CM_FindActorIndex(banana_bunch); + newBanana->parentIndex = CM_FindActorIndex(banana_bunch); newBanana->youngerIndex = -1; newBanana->unk_04 = 0x0014; newBanana->bananaId = bananaId; |
