Read HDF5 1.6-era files, user blocks, VDS, dense attributes and large groups #13

Merged
osobh merged 28 commits from fix/p1-read-gaps into main 2026-09-26 09:42:10 +00:00
Showing only changes of commit bb78d70b99 - Show all commits
+8
View File
@@ -296,6 +296,14 @@
- CI keeps zlib-ng building and tested; the arm64 job no longer needs cmake. - CI keeps zlib-ng building and tested; the arm64 job no longer needs cmake.
### Correctness ### Correctness
- `clawhdf5-format` VDS: variable-length and reference data from a source in
another file is refused. Those elements are global-heap IDs and object
addresses in the source file; copied into the virtual dataset they would
be decoded against the wrong file and name another object.
- `clawhdf5-agent`: a store whose `/meta` has an attribute that cannot be
decoded fails to open (`MemoryError::Schema`). With `attrs()` now leaving
unreadable attributes out, it would otherwise have opened with defaults in
place of its settings (`float16`, `compression`, the WAL mark, ...).
- `clawhdf5-format` reader: an old-style group whose local heap has a free - `clawhdf5-format` reader: an old-style group whose local heap has a free
list pointing outside the heap was listed with names read from the broken list pointing outside the heap was listed with names read from the broken
heap (garbage names on `cve-2021-36977.h5` once its user block was heap (garbage names on `cve-2021-36977.h5` once its user block was