Add test case for leak from bug 1265.
Disable for LSAN builds because it leaks.
Bug: pdfium:1265
Change-Id: I7b4afff4a390321b59450b88a078ac12c86960cc
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/54130
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/testing/resources/bug_1265.in b/testing/resources/bug_1265.in
new file mode 100644
index 0000000..dc4d027
--- /dev/null
+++ b/testing/resources/bug_1265.in
@@ -0,0 +1,43 @@
+{{header}}
+{{object 1 0}} <<
+ /Type /Catalog
+ /AcroForm 5 0 R
+ /Pages 2 0 R
+ /NeedsRendering true
+>>
+endobj
+{{object 2 0}} <<
+ /Type /Pages
+ /Count 1
+ /Kids [3 0 R]
+>>
+endobj
+{{object 3 0}} <<
+ /Type /Page
+ /Parent 2 0 R
+ /Contents 6 0 R
+ /MediaBox [0 0 1 1]
+>>
+endobj
+{{object 4 0}} <<
+ {{streamlen}}
+>>
+stream
+<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/">
+ <template><subform><overflow trailer="$"/><occur/><exclGroup h="757pt">
+endstream
+endobj
+{{object 5 0}} <<
+ /XFA 4 0 R
+>>
+endobj
+{{object 6 0}} <<
+ {{streamlen}}
+>>
+stream
+endstream
+endobj
+{{trailer}}
+{{xref}}
+{{startxref}}
+%%EOF
\ No newline at end of file
diff --git a/testing/resources/bug_1265.pdf b/testing/resources/bug_1265.pdf
new file mode 100644
index 0000000..6735061
--- /dev/null
+++ b/testing/resources/bug_1265.pdf
@@ -0,0 +1,56 @@
+%PDF-1.7
+% ò¤ô
+1 0 obj <<
+ /Type /Catalog
+ /AcroForm 5 0 R
+ /Pages 2 0 R
+ /NeedsRendering true
+>>
+endobj
+2 0 obj <<
+ /Type /Pages
+ /Count 1
+ /Kids [3 0 R]
+>>
+endobj
+3 0 obj <<
+ /Type /Page
+ /Parent 2 0 R
+ /Contents 6 0 R
+ /MediaBox [0 0 1 1]
+>>
+endobj
+4 0 obj <<
+ /Length 121
+>>
+stream
+<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/">
+ <template><subform><overflow trailer="$"/><occur/><exclGroup h="757pt">
+endstream
+endobj
+5 0 obj <<
+ /XFA 4 0 R
+>>
+endobj
+6 0 obj <<
+ /Length 0
+>>
+stream
+endstream
+endobj
+trailer <<
+ /Root 1 0 R
+ /Size 7
+>>
+xref
+0 7
+0000000000 65535 f
+0000000015 00000 n
+0000000109 00000 n
+0000000172 00000 n
+0000000263 00000 n
+0000000436 00000 n
+0000000470 00000 n
+startxref
+558
+%%EOF
\ No newline at end of file
diff --git a/xfa/fxfa/layout/cxfa_layoutitem_embeddertest.cpp b/xfa/fxfa/layout/cxfa_layoutitem_embeddertest.cpp
index 6dd7527..89b47b2 100644
--- a/xfa/fxfa/layout/cxfa_layoutitem_embeddertest.cpp
+++ b/xfa/fxfa/layout/cxfa_layoutitem_embeddertest.cpp
@@ -8,12 +8,27 @@
class CXFALayoutItemEmbedderTest : public EmbedderTest {};
#if defined(MEMORY_TOOL_REPLACES_ALLOCATOR)
+
+// Leaks. See https://crbug.com/pdfium/1265
+#define MAYBE_Bug_1265 DISABLED_Bug_1265
+
// Leaks. See https:://crbug.com/306123
#define MAYBE_Bug_306123 DISABLED_Bug_306123
+
#else
+#define MAYBE_Bug_1265 Bug_1265
#define MAYBE_Bug_306123 Bug_306123
#endif
+TEST_F(CXFALayoutItemEmbedderTest, MAYBE_Bug_1265) {
+ EXPECT_TRUE(OpenDocument("bug_1265.pdf"));
+ FPDF_PAGE page0 = LoadPage(0);
+ FPDF_PAGE page1 = LoadPage(1);
+ EXPECT_NE(nullptr, page0);
+ EXPECT_EQ(nullptr, page1);
+ UnloadPage(page0);
+}
+
TEST_F(CXFALayoutItemEmbedderTest, MAYBE_Bug_306123) {
EXPECT_TRUE(OpenDocument("bug_306123.pdf"));
FPDF_PAGE page0 = LoadPage(0);