diff options
| -rw-r--r-- | indra/llimage/llimagepng.cpp | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/indra/llimage/llimagepng.cpp b/indra/llimage/llimagepng.cpp index 8d493ecde0..294f68b122 100644 --- a/indra/llimage/llimagepng.cpp +++ b/indra/llimage/llimagepng.cpp @@ -60,6 +60,12 @@ BOOL LLImagePNG::updateData()  	// Decode the PNG data and extract sizing information  	LLPngWrapper pngWrapper; +	if (!pngWrapper.isValidPng(getData())) +	{ +		setLastError("LLImagePNG data does not have a valid PNG header!"); +		return FALSE; +	} +  	LLPngWrapper::ImageInfo infop;  	if (! pngWrapper.readPng(getData(), NULL, &infop))  	{ @@ -90,6 +96,12 @@ BOOL LLImagePNG::decode(LLImageRaw* raw_image, F32 decode_time)  	// Decode the PNG data into the raw image  	LLPngWrapper pngWrapper; +	if (!pngWrapper.isValidPng(getData())) +	{ +		setLastError("LLImagePNG data does not have a valid PNG header!"); +		return FALSE; +	} +  	if (! pngWrapper.readPng(getData(), raw_image))  	{  		setLastError(pngWrapper.getErrorMessage()); | 
