Chromium Code Reviews| Index: core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp |
| diff --git a/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp b/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp |
| index 1328fcdf96a4d9a0401b7bff9ee33ab0ac6cd968..b73aaf20032affb1cfd1cde7c62faf6d74622141 100644 |
| --- a/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp |
| +++ b/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp |
| @@ -71,17 +71,11 @@ void CPDF_Image::SetJpegImage(IFX_FileRead *pFile) |
| dwEstimateSize = 8192; |
| } |
| FX_LPBYTE pData = FX_Alloc(FX_BYTE, dwEstimateSize); |
| - if (!pData) { |
| - return; |
| - } |
| pFile->ReadBlock(pData, 0, dwEstimateSize); |
| CPDF_Dictionary *pDict = InitJPEG(pData, dwEstimateSize); |
| FX_Free(pData); |
| if (!pDict && size > dwEstimateSize) { |
| pData = FX_Alloc(FX_BYTE, size); |
| - if (!pData) { |
| - return; |
| - } |
| pFile->ReadBlock(pData, 0, size); |
| pDict = InitJPEG(pData, size); |
| FX_Free(pData); |
| @@ -223,8 +217,8 @@ void CPDF_Image::SetImage(const CFX_DIBitmap* pBitmap, FX_INT32 iCompress, IFX_F |
| } else if (pMaskBitmap->GetFormat() == FXDIB_1bppMask) { |
| _JBIG2EncodeBitmap(pMaskDict, pMaskBitmap, m_pDocument, mask_buf, mask_size, TRUE); |
| } else { |
| - mask_size = maskHeight * maskWidth; |
| - mask_buf = FX_Alloc(FX_BYTE, mask_size); |
| + mask_buf = FX_Alloc2D(FX_BYTE, maskHeight, maskWidth); |
| + mask_size = maskHeight * maskWidth; // Safe since checked alloc returned. |
| for (FX_INT32 a = 0; a < maskHeight; a ++) { |
| FXSYS_memcpy32(mask_buf + a * maskWidth, pMaskBitmap->GetScanline(a), maskWidth); |
| } |
| @@ -306,8 +300,8 @@ void CPDF_Image::SetImage(const CFX_DIBitmap* pBitmap, FX_INT32 iCompress, IFX_F |
| } |
| } else if (opType == 1) { |
| if (!bStream) { |
| - dest_size = dest_pitch * BitmapHeight; |
| - dest_buf = FX_Alloc(FX_BYTE, dest_size); |
| + dest_buf = FX_Alloc2D(FX_BYTE, dest_pitch, BitmapHeight); |
| + dest_size = dest_pitch * BitmapHeight; // Safe since checked alloc returned. |
| } |
| FX_LPBYTE pDest = dest_buf; |
| for (FX_INT32 i = 0; i < BitmapHeight; i ++) { |
| @@ -321,8 +315,8 @@ void CPDF_Image::SetImage(const CFX_DIBitmap* pBitmap, FX_INT32 iCompress, IFX_F |
| } |
| } else if (opType == 2) { |
| if (!bStream) { |
| - dest_size = dest_pitch * BitmapHeight; |
| - dest_buf = FX_Alloc(FX_BYTE, dest_size); |
| + dest_buf = FX_Alloc(FX_BYTE, dest_pitch * BitmapHeight); |
|
Lei Zhang
2015/05/19 18:58:53
FX_Alloc2D() !
Tom Sepez
2015/05/19 20:08:57
Argh. Done.
|
| + dest_size = dest_pitch * BitmapHeight; // Safe since checked alloc returned. |
| } else { |
| dest_buf = FX_Alloc(FX_BYTE, dest_pitch); |
| } |