summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-07-28 11:08:51 -0700
committerTom Sepez <tsepez@chromium.org>2015-07-28 11:08:51 -0700
commitd1a588c6ce03425773594381a0966434016813b1 (patch)
treea7f4a8c0f76087c540b18028c0a93ce5ddb311ea
parenta25b4bca69ab26d174edb8cefbdcfc1a0353915a (diff)
downloadpdfium-chromium/2472.tar.xz
The refactoring at fb07e28 removed a null handle check. BUG=514690 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1261923003 .
-rw-r--r--fpdfsdk/src/fpdfformfill.cpp3
-rw-r--r--fpdfsdk/src/fpdfformfill_embeddertest.cpp12
2 files changed, 15 insertions, 0 deletions
diff --git a/fpdfsdk/src/fpdfformfill.cpp b/fpdfsdk/src/fpdfformfill.cpp
index d21d5d209d..42e94c789d 100644
--- a/fpdfsdk/src/fpdfformfill.cpp
+++ b/fpdfsdk/src/fpdfformfill.cpp
@@ -27,6 +27,9 @@ CPDFSDK_InterForm* FormHandleToInterForm(FPDF_FORMHANDLE hHandle)
CPDFSDK_PageView* FormHandleToPageView(FPDF_FORMHANDLE hHandle, FPDF_PAGE page)
{
+ if (!page)
+ return nullptr;
+
CPDFSDK_Document* pSDKDoc = FormHandleToSDKDoc(hHandle);
return pSDKDoc ? pSDKDoc->GetPageView((CPDF_Page*)page, TRUE) : nullptr;
}
diff --git a/fpdfsdk/src/fpdfformfill_embeddertest.cpp b/fpdfsdk/src/fpdfformfill_embeddertest.cpp
index 615ada99f9..1c38770edb 100644
--- a/fpdfsdk/src/fpdfformfill_embeddertest.cpp
+++ b/fpdfsdk/src/fpdfformfill_embeddertest.cpp
@@ -41,3 +41,15 @@ TEST_F(FPDFFormFillEmbeddertest, BUG_487928) {
delegate.AdvanceTime(5000);
UnloadPage(page);
}
+
+TEST_F(FPDFFormFillEmbeddertest, BUG_514690) {
+ EXPECT_TRUE(OpenDocument("testing/resources/hello_world.pdf"));
+ FPDF_PAGE page = LoadPage(0);
+ EXPECT_NE(nullptr, page);
+
+ // Test that FORM_OnMouseMove() etc. permit null HANDLES and PAGES.
+ FORM_OnMouseMove(nullptr, page, 0, 10.0, 10.0);
+ FORM_OnMouseMove(form_handle(), nullptr, 0, 10.0, 10.0);
+
+ UnloadPage(page);
+}