From f2b32dafa4ddb7af6c2b775c51214d1ddf4fd98b Mon Sep 17 00:00:00 2001
From: AndreyL ProductEngine <alihatskiy@productengine.com>
Date: Tue, 29 Nov 2016 12:28:21 +0200
Subject: MAINT-6729 Fix crash in LLImageGL::analyzeAlpha()

---
 indra/newview/llviewertexture.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

(limited to 'indra')

diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index 178aa1e646..3cef34445a 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -1419,11 +1419,17 @@ BOOL LLViewerFetchedTexture::createTexture(S32 usename/*= 0*/)
 		destroyRawImage();
 		return FALSE;
 	}
-	mNeedsCreateTexture	= FALSE;
+	mNeedsCreateTexture = FALSE;
 	if (mRawImage.isNull())
 	{
 		LL_ERRS() << "LLViewerTexture trying to create texture with no Raw Image" << LL_ENDL;
 	}
+	if (mRawImage->isBufferInvalid())
+	{
+		LL_WARNS() << "Can't create a texture: invalid image data" << LL_ENDL;
+		destroyRawImage();
+		return FALSE;
+	}
 // 	LL_INFOS() << llformat("IMAGE Creating (%d) [%d x %d] Bytes: %d ",
 // 						mRawDiscardLevel, 
 // 						mRawImage->getWidth(), mRawImage->getHeight(),mRawImage->getDataSize())
-- 
cgit v1.2.3