The GitHub Actions job "Java CI" on 
commons-compress.git/fix/arj-length-computation has failed.
Run started by GitHub user ppkarwasz (triggered by ppkarwasz).

Head commit for run:
7d06121bae33fb482f58530c3404ee819c7bbb61 / Piotr P. Karwasz 
<[email protected]>
ARJ: correct byte accounting and truncation errors

* `getBytesRead()` could drift from the actual archive size after a full read.
* Exceptions on truncation errors were inconsistent or missing.
* `DataInputStream` (big-endian) forced ad-hoc helpers for ARJ’s little-endian 
fields.

* **Accurate byte accounting:** count all consumed bytes across main/file 
headers, variable strings, CRCs, extended headers, and file data. 
`getBytesRead()` now matches the archive length at end-of-stream.
* **Consistent truncation handling:**

  * Truncation in the **main (archive) header**, read during construction, now 
throws an `ArchiveException` **wrapping** an `EOFException` (cause preserved).
  * Truncation in **file headers or file data** is propagated as a plain 
`EOFException` from `getNextEntry()`/`read()`.
* **Endianness refactor:** replace `DataInputStream` with `EndianUtils`, 
removing several bespoke helpers and making intent explicit.

* Add assertion that `getBytesRead()` equals the archive size after full 
consumption.
* Parameterized truncation tests at key boundaries (signature, basic/fixed 
header sizes, end of fixed/basic header, CRC, extended-header length, file 
data) verifying the exception contract above.

Report URL: https://github.com/apache/commons-compress/actions/runs/18281789280

With regards,
GitHub Actions via GitBox

Reply via email to