From 6fc8d877d7450905623c6abb1094ab99f5bd80cb Mon Sep 17 00:00:00 2001 From: Henrique Nakashima Date: Tue, 18 Sep 2018 16:48:31 +0000 Subject: Encode mark names when writing to file. Bug: pdfium:1150 Change-Id: I7e589fb3d164dfc9b39a7a3f6e782c09331cc32d Reviewed-on: https://pdfium-review.googlesource.com/42630 Reviewed-by: Ryan Harrison Commit-Queue: Henrique Nakashima --- core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp | 2 +- fpdfsdk/fpdf_edit_embeddertest.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp index ea1a1956ae..02aea78074 100644 --- a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp +++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp @@ -255,7 +255,7 @@ const CPDF_ContentMark* CPDF_PageContentGenerator::ProcessContentMarks( const CPDF_ContentMarkItem* item = pNext->GetItem(i); // Write mark tag. - *buf << "/" << item->GetName() << " "; + *buf << "/" << PDF_NameEncode(item->GetName()) << " "; // If there are no parameters, write a BMC (begin marked content) operator. if (item->GetParamType() == CPDF_ContentMarkItem::None) { diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp index 3d10ba06d9..3bacb0b2eb 100644 --- a/fpdfsdk/fpdf_edit_embeddertest.cpp +++ b/fpdfsdk/fpdf_edit_embeddertest.cpp @@ -2568,7 +2568,7 @@ TEST_F(FPDFEditEmbeddertest, AddMarkedText) { // Add a mark with the tag "TestMarkName" to that text. EXPECT_EQ(0, FPDFPageObj_CountMarks(text_object)); - FPDF_PAGEOBJECTMARK mark = FPDFPageObj_AddMark(text_object, "TestMarkName"); + FPDF_PAGEOBJECTMARK mark = FPDFPageObj_AddMark(text_object, "Test Mark Name"); EXPECT_TRUE(mark); EXPECT_EQ(1, FPDFPageObj_CountMarks(text_object)); EXPECT_EQ(mark, FPDFPageObj_GetMark(text_object, 0)); @@ -2576,7 +2576,7 @@ TEST_F(FPDFEditEmbeddertest, AddMarkedText) { EXPECT_GT(FPDFPageObjMark_GetName(mark, buffer, sizeof(buffer)), 0u); std::wstring name = GetPlatformWString(reinterpret_cast(buffer)); - EXPECT_EQ(L"TestMarkName", name); + EXPECT_EQ(L"Test Mark Name", name); // Add parameters: // - int "IntKey" : 42 @@ -2650,7 +2650,7 @@ TEST_F(FPDFEditEmbeddertest, AddMarkedText) { EXPECT_TRUE(mark); EXPECT_GT(FPDFPageObjMark_GetName(mark, buffer, sizeof(buffer)), 0u); name = GetPlatformWString(reinterpret_cast(buffer)); - EXPECT_EQ(L"TestMarkName", name); + EXPECT_EQ(L"Test Mark Name", name); CloseSavedPage(saved_page); CloseSavedDocument(); -- cgit v1.2.3