summaryrefslogtreecommitdiff
path: root/indra/llimage/llimagepng.cpp
diff options
context:
space:
mode:
authorAnchor Linden <anchor@lindenlab.com>2018-10-11 10:54:16 -0700
committerAnchor Linden <anchor@lindenlab.com>2018-10-11 10:54:16 -0700
commit076719013ec2dab7bf8fd1f4d1f953ab73d594e9 (patch)
tree58e7cd0674a1286544f883257cc2f43969ea201f /indra/llimage/llimagepng.cpp
parente5aeaa659a453674ef898cdd2ad6183d5eb77e41 (diff)
parent58aef8beaf79dc83546a7b080014ca5030733ac8 (diff)
Merge
Diffstat (limited to 'indra/llimage/llimagepng.cpp')
-rw-r--r--indra/llimage/llimagepng.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/indra/llimage/llimagepng.cpp b/indra/llimage/llimagepng.cpp
index a4823ed859..c4b98d8260 100644
--- a/indra/llimage/llimagepng.cpp
+++ b/indra/llimage/llimagepng.cpp
@@ -125,7 +125,12 @@ bool LLImagePNG::encode(const LLImageRaw* raw_image, F32 encode_time)
// Temporary buffer to hold the encoded image. Note: the final image
// size should be much smaller due to compression.
U32 bufferSize = getWidth() * getHeight() * getComponents() + 8192;
- U8* tmpWriteBuffer = new U8[ bufferSize ];
+ U8* tmpWriteBuffer = new(std::nothrow) U8[ bufferSize ];
+ if (!tmpWriteBuffer)
+ {
+ setLastError("LLImagePNG::out of memory");
+ return false;
+ }
// Delegate actual encoding work to wrapper
LLPngWrapper pngWrapper;