diff options
| author | Howard Stearns <howard.stearns@gmail.com> | 2022-09-02 16:01:38 -0700 | 
|---|---|---|
| committer | Howard Stearns <howard.stearns@gmail.com> | 2022-09-02 16:01:38 -0700 | 
| commit | cf8e1b2ac4614c0b4f8211f980214f5e823a672c (patch) | |
| tree | c9a00501f3535d36bb00298455ee8ec2d92cce7e | |
| parent | 013a7130011f72ab0c124dba87376b9862a95461 (diff) | |
SL-17967 - do not crash on zero-sized materials
| -rw-r--r-- | indra/newview/llgltfmateriallist.cpp | 9 | 
1 files changed, 8 insertions, 1 deletions
| diff --git a/indra/newview/llgltfmateriallist.cpp b/indra/newview/llgltfmateriallist.cpp index af00cdd05f..b2d223a3e8 100644 --- a/indra/newview/llgltfmateriallist.cpp +++ b/indra/newview/llgltfmateriallist.cpp @@ -56,9 +56,16 @@ LLGLTFMaterial* LLGLTFMaterialList::getMaterial(const LLUUID& id)                  }                  LLFileSystem file(id, asset_type, LLFileSystem::READ); +                auto size = file.getSize(); +                if (!size) +                { +                    LL_DEBUGS() << "Zero size material." << LL_ENDL; +                    mat->unref(); +                    return; +                }                  std::vector<char> buffer; -                buffer.resize(file.getSize()); +                buffer.resize(size);                  file.read((U8*)&buffer[0], buffer.size());                  LLSD asset; | 
