@@ -140,7 +140,8 @@ bool CPixelsManager::GetTexturePixels(IDirect3DBaseTexture9* pD3DBaseTexture, CP
140140 // If not allowed, return dummy data
141141 uint uiPixelsWidth = 32 ;
142142 uint uiPixelsHeight = 32 ;
143- outPixels.SetSize (uiPixelsWidth * uiPixelsHeight * XRGB_BYTES_PER_PIXEL + SIZEOF_PLAIN_TAIL);
143+ if (!outPixels.SetSize (uiPixelsWidth * uiPixelsHeight * XRGB_BYTES_PER_PIXEL + SIZEOF_PLAIN_TAIL))
144+ return false ;
144145 memset (outPixels.GetData (), 0xEF , outPixels.GetSize ());
145146 bResult = SetPlainDimensions (outPixels, uiPixelsWidth, uiPixelsHeight);
146147 }
@@ -530,7 +531,8 @@ bool CPixelsManager::D3DXGetSurfacePixels(IDirect3DSurface9* pD3DSurface, CPixel
530531 {
531532 if (!FAILED (D3DXSaveSurfaceToFileInMemory (&dxBuffer, dxFileFormat, pD3DSurface, NULL , pRect)))
532533 {
533- outPixels.SetSize (dxBuffer->GetBufferSize ());
534+ if (!outPixels.SetSize (dxBuffer->GetBufferSize ()))
535+ return false ;
534536 char * pPixelsData = outPixels.GetData ();
535537 memcpy (pPixelsData, dxBuffer->GetBufferPointer (), outPixels.GetSize ());
536538 return true ;
@@ -570,7 +572,8 @@ bool CPixelsManager::D3DXGetSurfacePixels(IDirect3DSurface9* pD3DSurface, CPixel
570572 // Extract pixels from converted texture
571573 if (!FAILED (D3DXSaveTextureToFileInMemory (&dxBuffer, dxFileFormat, pD3DTempTexture, NULL )))
572574 {
573- outPixels.SetSize (dxBuffer->GetBufferSize ());
575+ if (!outPixels.SetSize (dxBuffer->GetBufferSize ()))
576+ return false ;
574577 char * pPixelsData = outPixels.GetData ();
575578 memcpy (pPixelsData, dxBuffer->GetBufferPointer (), outPixels.GetSize ());
576579 return true ;
@@ -815,7 +818,8 @@ bool CPixelsManager::ChangePixelsFormat(const CPixels& oldPixels, CPixels& newPi
815818 uint uiWidth, uiHeight;
816819 if (JpegDecode (oldPixels.GetData (), oldPixels.GetSize (), &newPixels.buffer , uiWidth, uiHeight))
817820 {
818- newPixels.buffer .SetSize (uiWidth * uiHeight * 4 + SIZEOF_PLAIN_TAIL);
821+ if (!newPixels.buffer .SetSize (uiWidth * uiHeight * 4 + SIZEOF_PLAIN_TAIL))
822+ return false ;
819823 return SetPlainDimensions (newPixels, uiWidth, uiHeight);
820824 }
821825 }
@@ -824,7 +828,8 @@ bool CPixelsManager::ChangePixelsFormat(const CPixels& oldPixels, CPixels& newPi
824828 uint uiWidth, uiHeight;
825829 if (PngDecode (oldPixels.GetData (), oldPixels.GetSize (), &newPixels.buffer , uiWidth, uiHeight))
826830 {
827- newPixels.buffer .SetSize (uiWidth * uiHeight * 4 + SIZEOF_PLAIN_TAIL);
831+ if (!newPixels.buffer .SetSize (uiWidth * uiHeight * 4 + SIZEOF_PLAIN_TAIL))
832+ return false ;
828833 return SetPlainDimensions (newPixels, uiWidth, uiHeight);
829834 }
830835 }
0 commit comments