Files
Vincent Thiberville 53c83c8dca fix issues with modules fetch of memory blocks in some situations (#2025)
Some modules functions (from hash and math) can access multiple memory
blocks, as long as those are contiguous. For example, when hashing
between offsets 0..1000, blocks that cover this range will be fetched.

This logic however is a bit buggy on the boundary: if the fetched range
ends exactly at the end of a block, the iteration keeps going instead of
ending. This can result in two situations:

- The next block is contiguous: it is then fetched.
  - if the fetch fails, the function fails (and return undefined)
  - if the fetch succeeds, we read 0 bytes from it and
    end the iteration, so a useless fetch was done.
- The next block is not contiguous: the function fails (and return
  undefined).

This is fixed by modifying the condition to detect if there are still
more bytes to fetch.
2024-01-12 16:15:27 +01:00
..