mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-03-28 00:24:11 +01:00
Add UBFIX for null derefs in sub_8088950
This commit is contained in:
parent
b155c307ea
commit
86fdd033c6
@ -797,15 +797,33 @@ bool8 CameraMove(int x, int y)
|
||||
struct MapConnection *sub_8088950(u8 direction, int x, int y)
|
||||
{
|
||||
int count;
|
||||
struct MapConnection *connection;
|
||||
int i;
|
||||
count = gMapHeader.connections->count;
|
||||
connection = gMapHeader.connections->connections;
|
||||
struct MapConnection *connection;
|
||||
const struct MapConnections *connections = gMapHeader.connections;
|
||||
// UB: Multiple possible null dereferences
|
||||
#ifdef UBFIX
|
||||
if (connections != NULL)
|
||||
{
|
||||
count = connections->count;
|
||||
connection = connections->connections;
|
||||
if (connection != NULL)
|
||||
{
|
||||
for (i = 0; i < count; i++, connection++)
|
||||
{
|
||||
if (connection->direction == direction && sub_80889A8(direction, x, y, connection) == TRUE)
|
||||
return connection;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
count = connections->count;
|
||||
connection = connections->connections;
|
||||
for (i = 0; i < count; i++, connection++)
|
||||
{
|
||||
if (connection->direction == direction && sub_80889A8(direction, x, y, connection) == TRUE)
|
||||
return connection;
|
||||
}
|
||||
#endif
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user