--- UnAlz.cpp.rev3 2022-07-29 12:10:15.000000000 -0400 +++ UnAlz.cpp 2022-07-29 12:17:07.000000000 -0400 @@ -1634,7 +1634,11 @@ while(dwRemain) { - dwRead = (UINT32)min(dwRemain, (m_files[m_nCurFile].nFileSize-m_nCurFilePos-m_files[m_nCurFile].nMultivolTailSize)); + INT64 remain = m_files[m_nCurFile].nFileSize - m_nCurFilePos - m_files[m_nCurFile].nMultivolTailSize; + if (remain <= 0) { + m_bIsEOF = TRUE; return FALSE; + } + dwRead = (UINT32)min(dwRemain, remain); if(dwRead==0) { m_bIsEOF = TRUE;return FALSE; }