--- 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;
 		}
