Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Unified Diff: core/src/fpdfapi/fpdf_render/render_int.h

Issue 1153633009: Fix potentially massive memory leak in CPDF_DIBSource::LoadJpxBitmap(). (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: address comments Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: core/src/fpdfapi/fpdf_render/render_int.h
diff --git a/core/src/fpdfapi/fpdf_render/render_int.h b/core/src/fpdfapi/fpdf_render/render_int.h
index cf2074f5bdd37d4d4c574156b84b92624d356a99..529128e8f95b8af7dd2305120c72c1329df43f09 100644
--- a/core/src/fpdfapi/fpdf_render/render_int.h
+++ b/core/src/fpdfapi/fpdf_render/render_int.h
@@ -1,17 +1,18 @@
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-
+
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#ifndef CORE_SRC_FPDFAPI_FPDF_RENDER_RENDER_INT_H_
#define CORE_SRC_FPDFAPI_FPDF_RENDER_RENDER_INT_H_
+#include "../../../../third_party/base/nonstd_unique_ptr.h"
#include "../../../include/fpdfapi/fpdf_pageobj.h"
class CPDF_QuickStretcher;
#define TYPE3_MAX_BLUES 16
-class CPDF_Type3Glyphs
+class CPDF_Type3Glyphs
{
public:
CPDF_Type3Glyphs()
@@ -27,7 +28,7 @@ public:
int m_TopBlueCount, m_BottomBlueCount;
};
class CFX_GlyphBitmap;
-class CPDF_Type3Cache
+class CPDF_Type3Cache
{
public:
CPDF_Type3Cache(CPDF_Type3Font* pFont)
@@ -41,7 +42,7 @@ protected:
CPDF_Type3Font* m_pFont;
CFX_MapByteStringToPtr m_SizeMap;
};
-class CPDF_TransferFunc
+class CPDF_TransferFunc
{
public:
CPDF_Document* m_pPDFDoc;
@@ -53,7 +54,7 @@ public:
};
typedef CFX_MapPtrTemplate<CPDF_Font*, CPDF_CountedObject<CPDF_Type3Cache*>*> CPDF_Type3CacheMap;
typedef CFX_MapPtrTemplate<CPDF_Object*, CPDF_CountedObject<CPDF_TransferFunc*>*> CPDF_TransferFuncMap;
-class CPDF_DocRenderData
+class CPDF_DocRenderData
{
public:
CPDF_DocRenderData(CPDF_Document* pPDFDoc = NULL);
@@ -80,7 +81,7 @@ public:
CFX_AffineMatrix m_Matrix;
};
typedef CFX_ArrayTemplate<_PDF_RenderItem> CPDF_RenderLayer;
-class IPDF_ObjectRenderer
+class IPDF_ObjectRenderer
{
public:
static IPDF_ObjectRenderer* Create(int type);
@@ -89,7 +90,7 @@ public:
virtual FX_BOOL Continue(IFX_Pause* pPause) = 0;
FX_BOOL m_Result;
};
-class CPDF_RenderStatus
+class CPDF_RenderStatus
{
public:
CPDF_RenderStatus();
@@ -181,7 +182,7 @@ protected:
FX_ARGB m_T3FillColor;
int m_curBlend;
};
-class CPDF_ImageLoader
+class CPDF_ImageLoader
{
public:
CPDF_ImageLoader()
@@ -207,7 +208,7 @@ protected:
FX_INT32 m_nDownsampleWidth;
FX_INT32 m_nDownsampleHeight;
};
-class CPDF_ProgressiveImageLoaderHandle
+class CPDF_ProgressiveImageLoaderHandle
{
public:
CPDF_ProgressiveImageLoaderHandle();
@@ -260,7 +261,7 @@ protected:
FX_BOOL DrawMaskedImage();
FX_BOOL DrawPatternImage(const CFX_Matrix* pObj2Device);
};
-class CPDF_ScaledRenderBuffer
+class CPDF_ScaledRenderBuffer
{
public:
CPDF_ScaledRenderBuffer();
@@ -285,7 +286,7 @@ private:
CFX_AffineMatrix m_Matrix;
};
class ICodec_ScanlineDecoder;
-class CPDF_QuickStretcher
+class CPDF_QuickStretcher
{
public:
CPDF_QuickStretcher();
@@ -302,7 +303,7 @@ public:
CPDF_StreamAcc m_StreamAcc;
int m_LineIndex;
};
-class CPDF_DeviceBuffer
+class CPDF_DeviceBuffer
{
public:
CPDF_DeviceBuffer();
@@ -326,7 +327,7 @@ private:
CFX_DIBitmap* m_pBitmap;
CFX_AffineMatrix m_Matrix;
};
-class CPDF_ImageCache
+class CPDF_ImageCache
{
public:
CPDF_ImageCache(CPDF_Document* pDoc, CPDF_Stream* pStream);
@@ -443,7 +444,7 @@ protected:
DIB_COMP_DATA* m_pCompData;
FX_LPBYTE m_pLineBuf;
FX_LPBYTE m_pMaskedLine;
- CFX_DIBitmap* m_pCachedBitmap;
+ nonstd::unique_ptr<CFX_DIBitmap> m_pCachedBitmap;
ICodec_ScanlineDecoder* m_pDecoder;
};
#define FPDF_HUGE_IMAGE_SIZE 60000000
« no previous file with comments | « core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698