summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fpdfsdk/fpdf_view.cpp3
-rw-r--r--fpdfsdk/fpdf_view_embeddertest.cpp6
2 files changed, 8 insertions, 1 deletions
diff --git a/fpdfsdk/fpdf_view.cpp b/fpdfsdk/fpdf_view.cpp
index 8aca6fb9f1..5fdc82af73 100644
--- a/fpdfsdk/fpdf_view.cpp
+++ b/fpdfsdk/fpdf_view.cpp
@@ -920,6 +920,9 @@ FPDF_EXPORT int FPDF_CALLCONV FPDF_GetPageSizeByIndex(FPDF_DOCUMENT document,
int page_index,
double* width,
double* height) {
+ if (!width || !height)
+ return false;
+
auto* pDoc = CPDFDocumentFromFPDFDocument(document);
if (!pDoc)
return false;
diff --git a/fpdfsdk/fpdf_view_embeddertest.cpp b/fpdfsdk/fpdf_view_embeddertest.cpp
index 1eedda3d4b..8cea7de21c 100644
--- a/fpdfsdk/fpdf_view_embeddertest.cpp
+++ b/fpdfsdk/fpdf_view_embeddertest.cpp
@@ -593,11 +593,14 @@ TEST_F(FPDFViewEmbeddertest, FPDF_RenderPageBitmapWithMatrix) {
TEST_F(FPDFViewEmbeddertest, FPDF_GetPageSizeByIndex) {
EXPECT_TRUE(OpenDocument("rectangles.pdf"));
- CPDF_Document* pDoc = CPDFDocumentFromFPDFDocument(document());
double width = 0;
double height = 0;
+ EXPECT_FALSE(FPDF_GetPageSizeByIndex(nullptr, 0, &width, &height));
+ EXPECT_FALSE(FPDF_GetPageSizeByIndex(document(), 0, nullptr, &height));
+ EXPECT_FALSE(FPDF_GetPageSizeByIndex(document(), 0, &width, nullptr));
+
// Page -1 doesn't exist.
EXPECT_FALSE(FPDF_GetPageSizeByIndex(document(), -1, &width, &height));
@@ -609,6 +612,7 @@ TEST_F(FPDFViewEmbeddertest, FPDF_GetPageSizeByIndex) {
EXPECT_EQ(200.0, width);
EXPECT_EQ(300.0, height);
+ CPDF_Document* pDoc = CPDFDocumentFromFPDFDocument(document());
#ifdef PDF_ENABLE_XFA
// TODO(tsepez): XFA must obtain this size without parsing.
EXPECT_EQ(1u, pDoc->GetParsedPageCountForTesting());