summaryrefslogtreecommitdiff
path: root/indra/llimage/llimagebmp.cpp
diff options
context:
space:
mode:
authorandreykproductengine <andreykproductengine@lindenlab.com>2018-07-26 20:06:26 +0300
committerandreykproductengine <andreykproductengine@lindenlab.com>2018-07-26 20:06:26 +0300
commite24d4c9f4d2f37ee80685c6ab276633b94b366b8 (patch)
treed78c2549bb124973e87cce4f53273fd7a2e01687 /indra/llimage/llimagebmp.cpp
parent8c8a44f430cc373d3a09308c5efdc420c1571d11 (diff)
MAINT-8923 Better allocation failure handling, createGLTexture crashes
Diffstat (limited to 'indra/llimage/llimagebmp.cpp')
-rw-r--r--indra/llimage/llimagebmp.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/indra/llimage/llimagebmp.cpp b/indra/llimage/llimagebmp.cpp
index 2cdd26c22b..867b2bb47b 100644
--- a/indra/llimage/llimagebmp.cpp
+++ b/indra/llimage/llimagebmp.cpp
@@ -318,7 +318,7 @@ bool LLImageBMP::updateData()
if( 0 != mColorPaletteColors )
{
- mColorPalette = new U8[color_palette_size];
+ mColorPalette = new(std::nothrow) U8[color_palette_size];
if (!mColorPalette)
{
LL_ERRS() << "Out of memory in LLImageBMP::updateData()" << LL_ENDL;
@@ -344,7 +344,11 @@ bool LLImageBMP::decode(LLImageRaw* raw_image, F32 decode_time)
return false;
}
- raw_image->resize(getWidth(), getHeight(), 3);
+ if (!raw_image->resize(getWidth(), getHeight(), 3))
+ {
+ setLastError("llimagebmp failed to resize image!");
+ return false;
+ }
U8* src = mdata + mBitmapOffset;
U8* dst = raw_image->getData();