Expand description
Reconstructing an attribute’s bytes — resident inline, or non-resident by following its runlist across the volume.
Sparse runs yield zeroes without touching the disk; real runs are read at
lcn × cluster_size. The output is bounded by the attribute’s real size and
by the bytes its runs actually allocate, and every size is checked — a
crafted runlist cannot trigger an unbounded allocation or an out-of-range
seek.
Functions§
- attribute_
runlist - Decode the data-run list of a non-resident attribute from its (fixed-up) record bytes.
- read_
attribute_ value - Read an attribute’s value, dispatching on resident vs non-resident.
- read_
runs - Read
real_sizebytes of a file described byruns, fromreader.