mirror of https://github.com/OpenTTD/OpenTTD
(svn r27974) -Fix (r27907) [FS#6627]: free() called on static airport rotation data (JGR)
parent
50fb460203
commit
dacd8d87ef
|
@ -3672,6 +3672,9 @@ static void DuplicateTileTable(AirportSpec *as)
|
||||||
HangarTileTable *depot_table = MallocT<HangarTileTable>(as->nof_depots);
|
HangarTileTable *depot_table = MallocT<HangarTileTable>(as->nof_depots);
|
||||||
MemCpyT(depot_table, as->depot_table, as->nof_depots);
|
MemCpyT(depot_table, as->depot_table, as->nof_depots);
|
||||||
as->depot_table = depot_table;
|
as->depot_table = depot_table;
|
||||||
|
Direction *rotation = MallocT<Direction>(as->num_table);
|
||||||
|
MemCpyT(rotation, as->rotation, as->num_table);
|
||||||
|
as->rotation = rotation;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3741,6 +3744,7 @@ static ChangeInfoResult AirportChangeInfo(uint airport, int numinfo, int prop, B
|
||||||
}
|
}
|
||||||
|
|
||||||
case 0x0A: { // Set airport layout
|
case 0x0A: { // Set airport layout
|
||||||
|
free(as->rotation);
|
||||||
as->num_table = buf->ReadByte(); // Number of layaouts
|
as->num_table = buf->ReadByte(); // Number of layaouts
|
||||||
as->rotation = MallocT<Direction>(as->num_table);
|
as->rotation = MallocT<Direction>(as->num_table);
|
||||||
uint32 defsize = buf->ReadDWord(); // Total size of the definition
|
uint32 defsize = buf->ReadDWord(); // Total size of the definition
|
||||||
|
|
Loading…
Reference in New Issue