Avoid pointer arithmetic in cpdf_streamparser.cpp
-- use GetWord() helper method.
Change-Id: I3981f6524a6cbf4c918c393220728323e84ea075
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/96953
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/page/cpdf_streamparser.cpp b/core/fpdfapi/page/cpdf_streamparser.cpp
index 5a9d57c..3ce1b81 100644
--- a/core/fpdfapi/page/cpdf_streamparser.cpp
+++ b/core/fpdfapi/page/cpdf_streamparser.cpp
@@ -309,14 +309,12 @@
if (bIsNumber) {
m_WordBuffer[m_WordSize] = 0;
- return pdfium::MakeRetain<CPDF_Number>(
- ByteStringView(m_WordBuffer, m_WordSize));
+ return pdfium::MakeRetain<CPDF_Number>(GetWord());
}
int first_char = m_WordBuffer[0];
if (first_char == '/') {
- ByteString name =
- PDF_NameDecode(ByteStringView(m_WordBuffer + 1, m_WordSize - 1));
+ ByteString name = PDF_NameDecode(GetWord().Substr(1));
return pdfium::MakeRetain<CPDF_Name>(m_pPool, name);
}
@@ -338,8 +336,7 @@
if (!m_WordSize || m_WordBuffer[0] != '/')
return nullptr;
- ByteString key =
- PDF_NameDecode(ByteStringView(m_WordBuffer + 1, m_WordSize - 1));
+ ByteString key = PDF_NameDecode(GetWord().Substr(1));
RetainPtr<CPDF_Object> pObj =
ReadNextObject(true, bInArray, dwRecursionLevel + 1);
if (!pObj)