in #96551 the logic for deciding when to filter paths was changed in compiletest such that known paths are always considered to be 32 bytes long.
Unfortunately this logic has an error in the case where the known path is shorter than 32 bytes, as the logic may decide to abbreviate the output due to it exceeding HEAD_LEN + TAIL_LEN bytes in length, however the output isn't long enough, so the following check underflows, leading to a panic in split_off:
|
let tail = middle.split_off(middle.len() - TAIL_LEN).into_boxed_slice(); |
in #96551 the logic for deciding when to filter paths was changed in compiletest such that known paths are always considered to be 32 bytes long.
Unfortunately this logic has an error in the case where the known path is shorter than 32 bytes, as the logic may decide to abbreviate the output due to it exceeding
HEAD_LEN + TAIL_LENbytes in length, however the output isn't long enough, so the following check underflows, leading to a panic insplit_off:rust/src/tools/compiletest/src/read2.rs
Line 92 in 6609c67