Fix crash when reading invalid data from file

This commit is contained in:
Wojtek Figat
2024-08-12 15:35:02 +02:00
parent 824d6701d8
commit fbd3b9372b

View File

@@ -1088,7 +1088,7 @@ bool FlaxStorage::LoadAssetHeader(const Entry& e, AssetInitData& data)
{
int32 chunkIndex;
stream->ReadInt32(&chunkIndex);
if (chunkIndex >= _chunks.Count())
if (chunkIndex < -1 || chunkIndex >= _chunks.Count())
{
LOG(Warning, "Invalid chunks mapping.");
return true;
@@ -1145,7 +1145,7 @@ bool FlaxStorage::LoadAssetHeader(const Entry& e, AssetInitData& data)
{
int32 chunkIndex;
stream->ReadInt32(&chunkIndex);
if (chunkIndex >= _chunks.Count())
if (chunkIndex < -1 || chunkIndex >= _chunks.Count())
{
LOG(Warning, "Invalid chunks mapping.");
return true;
@@ -1200,7 +1200,7 @@ bool FlaxStorage::LoadAssetHeader(const Entry& e, AssetInitData& data)
{
int32 chunkIndex;
stream->ReadInt32(&chunkIndex);
if (chunkIndex >= _chunks.Count())
if (chunkIndex < -1 || chunkIndex >= _chunks.Count())
{
LOG(Warning, "Invalid chunks mapping.");
return true;