diff options
-rw-r--r-- | core/fpdfapi/parser/cpdf_syntax_parser.cpp | 15 | ||||
-rw-r--r-- | core/fpdfapi/parser/fpdf_parser_decode.h | 1 | ||||
-rw-r--r-- | core/fpdfapi/parser/fpdf_parser_utility.cpp | 4 | ||||
-rw-r--r-- | core/fpdfdoc/cpdf_defaultappearance.cpp | 2 | ||||
-rw-r--r-- | core/fpdfdoc/cpdf_interform.cpp | 2 | ||||
-rw-r--r-- | core/fpdfdoc/cpvt_generateap.cpp | 2 | ||||
-rw-r--r-- | fpdfsdk/formfiller/cba_fontmap.cpp | 3 |
7 files changed, 11 insertions, 18 deletions
diff --git a/core/fpdfapi/parser/cpdf_syntax_parser.cpp b/core/fpdfapi/parser/cpdf_syntax_parser.cpp index 624bde4ab3..8b8e59fa96 100644 --- a/core/fpdfapi/parser/cpdf_syntax_parser.cpp +++ b/core/fpdfapi/parser/cpdf_syntax_parser.cpp @@ -420,23 +420,22 @@ std::unique_ptr<CPDF_Object> CPDF_SyntaxParser::GetObjectBodyInternal( std::unique_ptr<CPDF_Dictionary> pDict = pdfium::MakeUnique<CPDF_Dictionary>(m_pPool); while (1) { - ByteString key = GetNextWord(nullptr); - if (key.IsEmpty()) + ByteString word = GetNextWord(nullptr); + if (word.IsEmpty()) return nullptr; - FX_FILESIZE SavedPos = m_Pos - key.GetLength(); - if (key == ">>") + FX_FILESIZE SavedPos = m_Pos - word.GetLength(); + if (word == ">>") break; - if (key == "endobj") { + if (word == "endobj") { m_Pos = SavedPos; break; } - if (key[0] != '/') + if (word[0] != '/') continue; - key = PDF_NameDecode(key); - + ByteString key = PDF_NameDecode(word.AsStringView()); if (key.IsEmpty() && parse_type == ParseType::kLoose) continue; diff --git a/core/fpdfapi/parser/fpdf_parser_decode.h b/core/fpdfapi/parser/fpdf_parser_decode.h index 6650b68c06..ab819c4832 100644 --- a/core/fpdfapi/parser/fpdf_parser_decode.h +++ b/core/fpdfapi/parser/fpdf_parser_decode.h @@ -18,7 +18,6 @@ class CPDF_Dictionary; extern const uint16_t PDFDocEncoding[256]; ByteString PDF_NameDecode(const ByteStringView& orig); -ByteString PDF_NameDecode(const ByteString& orig); ByteString PDF_NameEncode(const ByteString& orig); ByteString PDF_EncodeString(const ByteString& src, bool bHex); WideString PDF_DecodeText(const uint8_t* pData, uint32_t size); diff --git a/core/fpdfapi/parser/fpdf_parser_utility.cpp b/core/fpdfapi/parser/fpdf_parser_utility.cpp index 45284a4ceb..c486a76706 100644 --- a/core/fpdfapi/parser/fpdf_parser_utility.cpp +++ b/core/fpdfapi/parser/fpdf_parser_utility.cpp @@ -110,10 +110,6 @@ ByteString PDF_NameDecode(const ByteStringView& bstr) { return result; } -ByteString PDF_NameDecode(const ByteString& orig) { - return orig.Contains("#") ? PDF_NameDecode(orig.AsStringView()) : orig; -} - ByteString PDF_NameEncode(const ByteString& orig) { uint8_t* src_buf = (uint8_t*)orig.c_str(); int src_len = orig.GetLength(); diff --git a/core/fpdfdoc/cpdf_defaultappearance.cpp b/core/fpdfdoc/cpdf_defaultappearance.cpp index ba0679a19a..cae553a7c2 100644 --- a/core/fpdfdoc/cpdf_defaultappearance.cpp +++ b/core/fpdfdoc/cpdf_defaultappearance.cpp @@ -32,7 +32,7 @@ ByteString CPDF_DefaultAppearance::GetFont(float* fFontSize) { csFontNameTag.Delete(0, 1); *fFontSize = FX_atof(syntax.GetWord()); } - return PDF_NameDecode(csFontNameTag); + return PDF_NameDecode(csFontNameTag.AsStringView()); } bool CPDF_DefaultAppearance::HasColor() { diff --git a/core/fpdfdoc/cpdf_interform.cpp b/core/fpdfdoc/cpdf_interform.cpp index ac15aa66cc..c16c36ef3d 100644 --- a/core/fpdfdoc/cpdf_interform.cpp +++ b/core/fpdfdoc/cpdf_interform.cpp @@ -101,7 +101,7 @@ void InitDict(CPDF_Dictionary*& pFormDict, CPDF_Document* pDocument) { CPDF_Font* GetFont(CPDF_Dictionary* pFormDict, CPDF_Document* pDocument, const ByteString& csNameTag) { - ByteString csAlias = PDF_NameDecode(csNameTag); + ByteString csAlias = PDF_NameDecode(csNameTag.AsStringView()); if (!pFormDict || csAlias.IsEmpty()) return nullptr; diff --git a/core/fpdfdoc/cpvt_generateap.cpp b/core/fpdfdoc/cpvt_generateap.cpp index e2fbcc9720..4138b21a6b 100644 --- a/core/fpdfdoc/cpvt_generateap.cpp +++ b/core/fpdfdoc/cpvt_generateap.cpp @@ -925,7 +925,7 @@ void CPVT_GenerateAP::GenerateFormAP(Type type, CPDF_SimpleParser syntax(DA.AsStringView()); syntax.FindTagParamFromStart("Tf", 2); ByteString sFontName(syntax.GetWord()); - sFontName = PDF_NameDecode(sFontName); + sFontName = PDF_NameDecode(sFontName.AsStringView()); if (sFontName.IsEmpty()) return; diff --git a/fpdfsdk/formfiller/cba_fontmap.cpp b/fpdfsdk/formfiller/cba_fontmap.cpp index d675676616..8e4ac469a5 100644 --- a/fpdfsdk/formfiller/cba_fontmap.cpp +++ b/fpdfsdk/formfiller/cba_fontmap.cpp @@ -219,8 +219,7 @@ CPDF_Font* CBA_FontMap::GetAnnotDefaultFont(ByteString* sAlias) { CPDF_SimpleParser syntax(sDA.AsStringView()); syntax.FindTagParamFromStart("Tf", 2); - ByteString sFontName(syntax.GetWord()); - ByteString sDecodedFontName = PDF_NameDecode(sFontName); + ByteString sDecodedFontName = PDF_NameDecode(syntax.GetWord()); *sAlias = sDecodedFontName.Right(sDecodedFontName.GetLength() - 1); CPDF_Dictionary* pFontDict = nullptr; |