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]
