Fix a crash in CPDF_ImageRenderer.

BUG=chromium:770884

Change-Id: Ia609db04b0e596649fbda087290b7da040211f14
Reviewed-on: https://pdfium-review.googlesource.com/15790
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/render/cpdf_imagerenderer.cpp b/core/fpdfapi/render/cpdf_imagerenderer.cpp
index 6efc62c..1351597 100644
--- a/core/fpdfapi/render/cpdf_imagerenderer.cpp
+++ b/core/fpdfapi/render/cpdf_imagerenderer.cpp
@@ -106,9 +106,12 @@
     m_FillArgb = m_pRenderStatus->GetFillArgb(m_pImageObject.Get());
   } else if (m_pRenderStatus->GetRenderOptions()->ColorModeIs(
                  CPDF_RenderOptions::kGray)) {
-    m_pClone = m_pDIBSource->Clone(nullptr);
-    m_pClone->ConvertColorScale(0xffffff, 0);
-    m_pDIBSource = m_pClone;
+    RetainPtr<CFX_DIBitmap> pClone = m_pDIBSource->Clone(nullptr);
+    if (!pClone)
+      return false;
+
+    pClone->ConvertColorScale(0xffffff, 0);
+    m_pDIBSource = pClone;
   }
   m_Flags = 0;
   if (m_pRenderStatus->GetRenderOptions()->HasFlag(RENDER_FORCE_DOWNSAMPLE))
diff --git a/core/fpdfapi/render/cpdf_imagerenderer.h b/core/fpdfapi/render/cpdf_imagerenderer.h
index ba61ab4..a5d9ba7 100644
--- a/core/fpdfapi/render/cpdf_imagerenderer.h
+++ b/core/fpdfapi/render/cpdf_imagerenderer.h
@@ -70,7 +70,6 @@
   CFX_Matrix m_ImageMatrix;
   CPDF_ImageLoader m_Loader;
   RetainPtr<CFX_DIBSource> m_pDIBSource;
-  RetainPtr<CFX_DIBitmap> m_pClone;
   int m_BitmapAlpha;
   bool m_bPatternColor;
   UnownedPtr<CPDF_Pattern> m_pPattern;