Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Unified Diff: core/fxcodec/codec/fx_codec_progress.cpp

Issue 2430743003: in the attempt to fix 627393, changed IFX_FileRead's readBlock to return the length it reads
Patch Set: remove .tmp files Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: core/fxcodec/codec/fx_codec_progress.cpp
diff --git a/core/fxcodec/codec/fx_codec_progress.cpp b/core/fxcodec/codec/fx_codec_progress.cpp
index 9ac6913788a30e36470e822723060ffb312843c8..b86689009d6f3b658b0b3019ad52304a64e6f500 100644
--- a/core/fxcodec/codec/fx_codec_progress.cpp
+++ b/core/fxcodec/codec/fx_codec_progress.cpp
@@ -340,7 +340,8 @@ FX_BOOL CCodec_ProgressiveDecoder::JpegReadMoreData(
dwSize = dwConsume;
}
}
- if (!m_pFile->ReadBlock(m_pSrcBuf + dwAvail, m_offSet, dwSize)) {
+ if (m_pFile->ReadBlock(m_pSrcBuf + dwAvail, m_offSet, dwSize) != dwSize &&
+ !m_pFile->IsEOF()) {
err_status = FXCODEC_STATUS_ERR_READ;
return FALSE;
}
@@ -613,7 +614,8 @@ FX_BOOL CCodec_ProgressiveDecoder::GifReadMoreData(CCodec_GifModule* pGifModule,
dwSize = dwConsume;
}
}
- if (!m_pFile->ReadBlock(m_pSrcBuf + dwAvail, m_offSet, dwSize)) {
+ if (m_pFile->ReadBlock(m_pSrcBuf + dwAvail, m_offSet, dwSize) != dwSize &&
+ !m_pFile->IsEOF()) {
err_status = FXCODEC_STATUS_ERR_READ;
return FALSE;
}
@@ -903,7 +905,8 @@ FX_BOOL CCodec_ProgressiveDecoder::BmpReadMoreData(CCodec_BmpModule* pBmpModule,
dwSize = dwConsume;
}
}
- if (!m_pFile->ReadBlock(m_pSrcBuf + dwAvail, m_offSet, dwSize)) {
+ if (m_pFile->ReadBlock(m_pSrcBuf + dwAvail, m_offSet, dwSize) != dwSize &&
+ !m_pFile->IsEOF()) {
err_status = FXCODEC_STATUS_ERR_READ;
return FALSE;
}
@@ -1066,7 +1069,8 @@ FX_BOOL CCodec_ProgressiveDecoder::DetectImageType(
m_status = FXCODEC_STATUS_ERR_MEMORY;
return FALSE;
}
- FX_BOOL bResult = m_pFile->ReadBlock(m_pSrcBuf, 0, size);
+ FX_BOOL bResult =
+ m_pFile->ReadBlock(m_pSrcBuf, 0, size) == size || m_pFile->IsEOF();
if (!bResult) {
m_status = FXCODEC_STATUS_ERR_READ;
return FALSE;
@@ -1118,7 +1122,8 @@ FX_BOOL CCodec_ProgressiveDecoder::DetectImageType(
m_status = FXCODEC_STATUS_ERR_MEMORY;
return FALSE;
}
- FX_BOOL bResult = m_pFile->ReadBlock(m_pSrcBuf, 0, size);
+ FX_BOOL bResult =
+ m_pFile->ReadBlock(m_pSrcBuf, 0, size) == size || m_pFile->IsEOF();
if (!bResult) {
m_status = FXCODEC_STATUS_ERR_READ;
return FALSE;
@@ -1167,7 +1172,8 @@ FX_BOOL CCodec_ProgressiveDecoder::DetectImageType(
m_status = FXCODEC_STATUS_ERR_MEMORY;
return FALSE;
}
- FX_BOOL bResult = m_pFile->ReadBlock(m_pSrcBuf, 0, size);
+ FX_BOOL bResult =
+ m_pFile->ReadBlock(m_pSrcBuf, 0, size) == size || m_pFile->IsEOF();
if (!bResult) {
m_status = FXCODEC_STATUS_ERR_READ;
return FALSE;
@@ -1192,7 +1198,9 @@ FX_BOOL CCodec_ProgressiveDecoder::DetectImageType(
FXSYS_memset(m_pSrcBuf, 0, input_size);
m_SrcSize = input_size;
}
- bResult = m_pFile->ReadBlock(m_pSrcBuf, m_offSet, input_size);
+ bResult =
+ m_pFile->ReadBlock(m_pSrcBuf, m_offSet, input_size) == input_size ||
+ m_pFile->IsEOF();
if (!bResult) {
m_status = FXCODEC_STATUS_ERR_READ;
return FALSE;
@@ -1231,7 +1239,8 @@ FX_BOOL CCodec_ProgressiveDecoder::DetectImageType(
m_status = FXCODEC_STATUS_ERR_MEMORY;
return FALSE;
}
- FX_BOOL bResult = m_pFile->ReadBlock(m_pSrcBuf, 0, size);
+ FX_BOOL bResult =
+ m_pFile->ReadBlock(m_pSrcBuf, 0, size) == size || m_pFile->IsEOF();
if (!bResult) {
m_status = FXCODEC_STATUS_ERR_READ;
return FALSE;
@@ -2140,7 +2149,9 @@ FXCODEC_STATUS CCodec_ProgressiveDecoder::ContinueDecode(IFX_Pause* pPause) {
FXSYS_memset(m_pSrcBuf, 0, input_size);
m_SrcSize = input_size;
}
- FX_BOOL bResult = m_pFile->ReadBlock(m_pSrcBuf, m_offSet, input_size);
+ FX_BOOL bResult =
+ m_pFile->ReadBlock(m_pSrcBuf, m_offSet, input_size) == input_size ||
+ m_pFile->IsEOF();
if (!bResult) {
m_pDeviceBitmap = nullptr;
m_pFile = nullptr;

Powered by Google App Engine
This is Rietveld 408576698