The GitHub Actions job "Java CI with Gradle" on poi.git/inputstream-fixes has 
failed.
Run started by GitHub user pjfanning (triggered by pjfanning).

Head commit for run:
814b5004fc5beb5aa377b92b1264c617446f9e79 / PJ Fanning 
<[email protected]>
Fix bugs, locking and per-call allocations in POI's input streams

Bugs:
- RLEDecompressingInputStream.skip over-skipped when spanning chunks and
  returned -1 / n instead of the bytes skipped
- RecordInputStream.readPlain ignored off/len
- ReplacingInputStream compared signed pattern bytes to read()'s 0..255 and
  returned negative values for replacement bytes >= 0x80; skip and mark/reset
  bypassed the replacement state
- ContinuableRecordInput.readShort/readDouble did not roll over CONTINUE
  records like the other reads
- LittleEndianByteArrayInputStream.setReadIndex rejected the end position
- ZipArchiveThresholdInputStream.skip returned -1 at the end of the stream

Locking:
- LittleEndianInputStream / ChunkedCipherInputStream: drop synchronized
  from mark/reset (reads were never locked)
- CryptoAPIDocumentInputStream: seek/setBlock lock like read does

Performance:
- LittleEndianInputStream: primitive reads use a reused buffer and readFully
  (also fixes false EOF on short reads), read()/skip() keep readIndex
  right, skipFully reuses a skip buffer
- ChunkedCipherInputStream: read() without allocating, skipFully moves the
  position instead of decrypting the skipped chunks
- LittleEndianByteArrayInputStream: advance pos directly instead of the
  synchronized ByteArrayInputStream.skip/read
- XSSFVMLDrawing buffers the stream under the byte-wise ReplacingInputStream
- ZipHelper uses commons-io CloseShieldInputStream instead of
  NoCloseInputStream

Co-Authored-By: Claude Opus 5.5 <[email protected]>

Report URL: https://github.com/apache/poi/actions/runs/38133567286

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to