summaryrefslogtreecommitdiff
path: root/indra/newview/llmeshrepository.cpp
diff options
context:
space:
mode:
authorRider Linden <rider@lindenlab.com>2017-09-22 09:18:34 -0700
committerRider Linden <rider@lindenlab.com>2017-09-22 09:18:34 -0700
commit5d3599f5d155dc112c8f05197c8fc73397084e71 (patch)
tree1b67cdb5944a222c1de6de3b974caea78a019762 /indra/newview/llmeshrepository.cpp
parent150fba7c5cd24ad9ab343e762bfd15032e6a9462 (diff)
parent38d9454cbf30f470a723d912be2080f63ae3fa47 (diff)
Merge
Diffstat (limited to 'indra/newview/llmeshrepository.cpp')
-rw-r--r--indra/newview/llmeshrepository.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp
index c4d1917567..c2a0393170 100644
--- a/indra/newview/llmeshrepository.cpp
+++ b/indra/newview/llmeshrepository.cpp
@@ -1586,7 +1586,12 @@ bool LLMeshRepoThread::fetchMeshLOD(const LLVolumeParams& mesh_params, S32 lod)
LLMeshRepository::sCacheBytesRead += size;
++LLMeshRepository::sCacheReads;
file.seek(offset);
- U8* buffer = new U8[size];
+ U8* buffer = new(std::nothrow) U8[size];
+ if (!buffer)
+ {
+ LL_WARNS(LOG_MESH) << "Can't allocate memory for mesh LOD" << LL_ENDL;
+ return false;
+ }
file.read(buffer, size);
//make sure buffer isn't all 0's by checking the first 1KB (reserved block but not written)