ppkarwasz opened a new pull request, #801:
URL: https://github.com/apache/commons-io/pull/801

   This patch addresses a concurrency problem in `IOUtils.skip`, as reported in 
[COMPRESS-666](https://issues.apache.org/jira/browse/COMPRESS-666) and 
[COMPRESS-697](https://issues.apache.org/jira/browse/COMPRESS-697).
   
   Previously, `IOUtils.skip` relied on `InputStream#read` to skip bytes, using 
a buffer shared across **all** threads. Although `IOUtils.skip` itself does not 
consume the data read, certain `InputStream` implementations (e.g. 
`ChecksumInputStream`) may process that data internally.
   
   In concurrent scenarios, this shared buffer could be overwritten by another 
thread between the `read` and the subsequent internal processing (such as 
checksum calculation), leading to incorrect behavior.
   
   This change reverts commit c12eaff7f747353a7a9a97df735fd3301f42e313 and 
restores the use of a **per-thread buffer** in `IOUtils.skip`, ensuring thread 
safety and correct behavior in concurrent environments.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to