소스 검색

Merge pull request #95025 from AThousandShips/file_compressed_fix

[4.4] [Core] Fix `FileAccessCompressed.get_buffer` size error on multiples of block size
Rémi Verschelde 4 달 전
부모
커밋
dafc47390c
1개의 변경된 파일7개의 추가작업 그리고 0개의 파일을 삭제
  1. 7 0
      core/io/file_access_compressed.cpp

+ 7 - 0
core/io/file_access_compressed.cpp

@@ -270,6 +270,13 @@ uint64_t FileAccessCompressed::get_buffer(uint8_t *p_dst, uint64_t p_length) con
 				read_block_size = read_block == read_block_count - 1 ? read_total % block_size : block_size;
 				read_pos = 0;
 
+				if (read_block_size == 0) {
+					at_end = true;
+					if (i + 1 < p_length) {
+						read_eof = true;
+					}
+					return i + 1;
+				}
 			} else {
 				read_block--;
 				at_end = true;