Kaydet (Commit) 480475b2 authored tarafından Caolán McNamara's avatar Caolán McNamara

coverity#1209861 untaint image data

Change-Id: Ib35d4a007c276aba45925ac281fff160bf07f9fe
üst d6d53e5b
......@@ -453,9 +453,21 @@ void PixmapHolder::setBitmapDataPalette( const sal_uInt8* pData, XImage* pImage
{
if( m_aInfo.c_class != TrueColor )
{
aPalette[i].red = ((unsigned short)pData[42 + i*4]) << 8 | ((unsigned short)pData[42 + i*4]);
aPalette[i].green = ((unsigned short)pData[41 + i*4]) << 8 | ((unsigned short)pData[41 + i*4]);
aPalette[i].blue = ((unsigned short)pData[40 + i*4]) << 8 | ((unsigned short)pData[40 + i*4]);
//This is untainted data which comes from a controlled source
//so, using a byte-swapping pattern which coverity doesn't
//detect as such
//http://security.coverity.com/blog/2014/Apr/on-detecting-heartbleed-with-static-analysis.html
aPalette[i].red = ((unsigned short)pData[42 + i*4]);
aPalette[i].red <<= 8;
aPalette[i].red |= ((unsigned short)pData[42 + i*4]);
aPalette[i].green = ((unsigned short)pData[41 + i*4]);
aPalette[i].green <<= 8;
aPalette[i].green |= ((unsigned short)pData[41 + i*4]);
aPalette[i].blue = ((unsigned short)pData[40 + i*4]);
aPalette[i].blue <<= 8;
aPalette[i].blue |= ((unsigned short)pData[40 + i*4]);
XAllocColor( m_pDisplay, m_aColormap, aPalette+i );
}
else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment