diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-05-08 11:53:53 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-05-08 11:53:53 -0700 |
commit | 17ea732e8c8bba793aa57644f2325eeaaf4a1cbd (patch) | |
tree | 85d9cc664672d7b5e67ebf648fa12221ed886b3a /fpdfsdk/src | |
parent | 470408c2ffe71e99cebad0d1d6887f1723f02cef (diff) | |
download | pdfium-17ea732e8c8bba793aa57644f2325eeaaf4a1cbd.tar.xz |
Better error from pdfium_test when page too big to render.
BUG=pdfium:114
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1124423006
Diffstat (limited to 'fpdfsdk/src')
-rw-r--r-- | fpdfsdk/src/fpdfview.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp index 3207ebe336..3c0e010465 100644 --- a/fpdfsdk/src/fpdfview.cpp +++ b/fpdfsdk/src/fpdfview.cpp @@ -11,6 +11,7 @@ #include "../include/fpdf_progressive.h" #include "../include/fpdf_ext.h" #include "../../../core/src/fxcrt/fx_safe_types.h" +#include "../../third_party/base/nonstd_unique_ptr.h" #include "../../third_party/base/numerics/safe_conversions_impl.h" CPDF_CustomAccess::CPDF_CustomAccess(FPDF_FILEACCESS* pFileAccess) @@ -597,9 +598,11 @@ DLLEXPORT void STDCALL FPDF_PageToDevice(FPDF_PAGE page, int start_x, int start_ DLLEXPORT FPDF_BITMAP STDCALL FPDFBitmap_Create(int width, int height, int alpha) { - CFX_DIBitmap* pBitmap = new CFX_DIBitmap; - pBitmap->Create(width, height, alpha ? FXDIB_Argb : FXDIB_Rgb32); - return pBitmap; + nonstd::unique_ptr<CFX_DIBitmap> pBitmap(new CFX_DIBitmap); + if (!pBitmap->Create(width, height, alpha ? FXDIB_Argb : FXDIB_Rgb32)) { + return NULL; + } + return pBitmap.release(); } DLLEXPORT FPDF_BITMAP STDCALL FPDFBitmap_CreateEx(int width, int height, int format, void* first_scan, int stride) |