Add tests for FPDF_GetNamedDest() with old style destinations.
Show FPDF_GetNamedDest() cannot retrieve them.
Bug: chromium:1080663
Change-Id: Ic4ae048d07872620e220b6dc5ee43a893cea4167
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/69770
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/fpdf_view_embeddertest.cpp b/fpdfsdk/fpdf_view_embeddertest.cpp
index f5f9b33..17c2d96 100644
--- a/fpdfsdk/fpdf_view_embeddertest.cpp
+++ b/fpdfsdk/fpdf_view_embeddertest.cpp
@@ -699,6 +699,25 @@
// These should return a valid destination.
EXPECT_TRUE(FPDF_GetNamedDestByName(document(), "FirstAlternate"));
EXPECT_TRUE(FPDF_GetNamedDestByName(document(), "LastAlternate"));
+
+ char buffer[512];
+ constexpr long kBufferSize = sizeof(buffer);
+ long size = kBufferSize;
+
+ // Test bad indices.
+ EXPECT_FALSE(FPDF_GetNamedDest(document(), -1, buffer, &size));
+ EXPECT_EQ(kBufferSize, size);
+ size = kBufferSize;
+ EXPECT_FALSE(FPDF_GetNamedDest(document(), 2, buffer, &size));
+ EXPECT_EQ(kBufferSize, size);
+
+ // TODO(crbug.com/1080663): These should return a valid destination.
+ size = kBufferSize;
+ EXPECT_FALSE(FPDF_GetNamedDest(document(), 0, buffer, &size));
+ EXPECT_EQ(kBufferSize, size);
+ size = kBufferSize;
+ EXPECT_FALSE(FPDF_GetNamedDest(document(), 1, buffer, &size));
+ EXPECT_EQ(kBufferSize, size);
}
// The following tests pass if the document opens without crashing.