It used to return the write index instead of the written bytes (i.e. index + 1) when reading until last block. (cherry picked from commit e8f7b79bb00870a6c6b64f81f9a6d7ecea50d823)
@@ -315,10 +315,10 @@ uint64_t FileAccessCompressed::get_buffer(uint8_t *p_dst, uint64_t p_length) con
} else {
read_block--;
at_end = true;
- if (i < p_length - 1) {
+ if (i + 1 < p_length) {
read_eof = true;
}
- return i;
+ return i + 1;