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