diff --git a/core/fpdfapi/parser/cpdf_stream.cpp b/core/fpdfapi/parser/cpdf_stream.cpp
index 763f5e0..729a71f 100644
--- a/core/fpdfapi/parser/cpdf_stream.cpp
+++ b/core/fpdfapi/parser/cpdf_stream.cpp
@@ -211,7 +211,7 @@
   return archive->WriteString("\r\nendstream");
 }
 
-const uint8_t* CPDF_Stream::GetInMemoryRawData() const {
+pdfium::span<const uint8_t> CPDF_Stream::GetInMemoryRawData() const {
   DCHECK(IsMemoryBased());
-  return m_pDataBuf.get();
+  return pdfium::make_span(m_pDataBuf.get(), GetRawSize());
 }
diff --git a/core/fpdfapi/parser/cpdf_stream.h b/core/fpdfapi/parser/cpdf_stream.h
index 53f694d..68e4311 100644
--- a/core/fpdfapi/parser/cpdf_stream.h
+++ b/core/fpdfapi/parser/cpdf_stream.h
@@ -38,7 +38,7 @@
   // Can only be called when stream is memory-based.
   // This is meant to be used by CPDF_StreamAcc only.
   // Other callers should use CPDF_StreamAcc to access data in all cases.
-  const uint8_t* GetInMemoryRawData() const;
+  pdfium::span<const uint8_t> GetInMemoryRawData() const;
 
   // Copies span or stream into internally-owned buffer.
   void SetData(pdfium::span<const uint8_t> pData);
diff --git a/core/fpdfapi/parser/cpdf_stream_acc.cpp b/core/fpdfapi/parser/cpdf_stream_acc.cpp
index e7eb6f4..b9a5ab2 100644
--- a/core/fpdfapi/parser/cpdf_stream_acc.cpp
+++ b/core/fpdfapi/parser/cpdf_stream_acc.cpp
@@ -83,7 +83,7 @@
   if (is_owned())
     return absl::get<OwnedData>(m_Data).buffer.get();
   return (m_pStream && m_pStream->IsMemoryBased())
-             ? m_pStream->GetInMemoryRawData()
+             ? m_pStream->GetInMemoryRawData().data()
              : nullptr;
 }
 
@@ -127,7 +127,7 @@
     return;
 
   if (m_pStream->IsMemoryBased()) {
-    m_Data = pdfium::make_span(m_pStream->GetInMemoryRawData(), dwSrcSize);
+    m_Data = m_pStream->GetInMemoryRawData();
     return;
   }
 
@@ -147,7 +147,7 @@
   absl::variant<pdfium::span<const uint8_t>, OwnedData> src_data;
   pdfium::span<const uint8_t> src_span;
   if (m_pStream->IsMemoryBased()) {
-    src_span = pdfium::make_span(m_pStream->GetInMemoryRawData(), dwSrcSize);
+    src_span = m_pStream->GetInMemoryRawData();
     src_data = src_span;
   } else {
     std::unique_ptr<uint8_t, FxFreeDeleter> pTempSrcData = ReadRawStream();
