| Index: core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
|
| diff --git a/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp b/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
|
| index d29b9834fa1e731e0e0ee48e67556da4fe0e2405..80fb3a4edfba2da99dcbbb37bc31f9cf570b26d7 100644
|
| --- a/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
|
| +++ b/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
|
| @@ -1495,7 +1495,9 @@ int32_t CPDF_Creator::WriteDoc_Stage1(IFX_Pause* pPause) {
|
| uint32_t src_size = (uint32_t)(uintptr_t)m_Pos;
|
| while (src_size) {
|
| uint32_t block_size = src_size > 4096 ? 4096 : src_size;
|
| - if (!pSrcFile->ReadBlock(buffer, m_Offset - src_size, block_size)) {
|
| + if (pSrcFile->ReadBlock(buffer, m_Offset - src_size, block_size) !=
|
| + block_size &&
|
| + !pSrcFile->IsEOF()) {
|
| return -1;
|
| }
|
| if (m_File.AppendBlock(buffer, block_size) < 0) {
|
|
|