This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-io.git

commit 55f89cfb0c68e9730ed87d0a4e6806ee180301c0
Author: Gary D. Gregory <garydgreg...@gmail.com>
AuthorDate: Sun May 18 18:02:49 2025 -0400

    Fix SpotBugs issues in UnixLineEndingInputStream
    
    - [ERROR] Medium: Shared primitive variable "atSlashLf" in one thread
    may not yield the value of the most recent write from another thread
    [org.apache.commons.io.input.UnixLineEndingInputStream] At
    UnixLineEndingInputStream.java:[line 75]
    AT_STALE_THREAD_WRITE_OF_PRIMITIVE
    - [ERROR] Medium: Shared primitive variable "atEos" in one thread may
    not yield the value of the most recent write from another thread
    [org.apache.commons.io.input.UnixLineEndingInputStream] At
    UnixLineEndingInputStream.java:[line 120]
    AT_STALE_THREAD_WRITE_OF_PRIMITIVE
    - [ERROR] Medium: Shared primitive variable "atSlashCr" in one thread
    may not yield the value of the most recent write from another thread
    [org.apache.commons.io.input.UnixLineEndingInputStream] At
    UnixLineEndingInputStream.java:[line 124]
    AT_STALE_THREAD_WRITE_OF_PRIMITIVE
    - [ERROR] Medium: Shared primitive variable "atSlashLf" in one thread
    may not yield the value of the most recent write from another thread
    [org.apache.commons.io.input.UnixLineEndingInputStream] At
    UnixLineEndingInputStream.java:[line 125]
    AT_STALE_THREAD_WRITE_OF_PRIMITIVE
---
 src/changes/changes.xml                                               | 4 ++++
 .../java/org/apache/commons/io/input/UnixLineEndingInputStream.java   | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 8e67f14d7..5ed0f9fd1 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -60,6 +60,10 @@ The <action> type attribute can be add,update,fix,remove.
       <action dev="ggregory" type="fix"                due-to="Gary 
Gregory">Fix SpotBugs [ERROR] Medium: Shared primitive variable "atSlashCr" in 
one thread may not yield the value of the most recent write from another thread 
[org.apache.commons.io.input.WindowsLineEndingInputStream, 
org.apache.commons.io.input.WindowsLineEndingInputStream] At 
WindowsLineEndingInputStream.java:[line 77]Another occurrence at 
WindowsLineEndingInputStream.java:[line 81] 
AT_STALE_THREAD_WRITE_OF_PRIMITIVE.< [...]
       <action dev="ggregory" type="fix"                due-to="Gary 
Gregory">Fix SpotBugs [ERROR] Medium: Shared primitive variable "atSlashCr" in 
one thread may not yield the value of the most recent write from another thread 
[org.apache.commons.io.input.WindowsLineEndingInputStream] At 
WindowsLineEndingInputStream.java:[line 112] 
AT_STALE_THREAD_WRITE_OF_PRIMITIVE.</action>
       <action dev="ggregory" type="fix"                due-to="Gary 
Gregory">Fix SpotBugs [ERROR] Medium: Shared primitive variable "atSlashLf" in 
one thread may not yield the value of the most recent write from another thread 
[org.apache.commons.io.input.WindowsLineEndingInputStream] At 
WindowsLineEndingInputStream.java:[line 113] 
AT_STALE_THREAD_WRITE_OF_PRIMITIVE.</action>
+      <action dev="ggregory" type="fix"                due-to="Gary 
Gregory">Fix SpotBugs [ERROR] Medium: Shared primitive variable "atSlashLf" in 
one thread may not yield the value of the most recent write from another thread 
[org.apache.commons.io.input.UnixLineEndingInputStream] At 
UnixLineEndingInputStream.java:[line 75] 
AT_STALE_THREAD_WRITE_OF_PRIMITIVE.</action>
+      <action dev="ggregory" type="fix"                due-to="Gary 
Gregory">Fix SpotBugs [ERROR] Medium: Shared primitive variable "atEos" in one 
thread may not yield the value of the most recent write from another thread 
[org.apache.commons.io.input.UnixLineEndingInputStream] At 
UnixLineEndingInputStream.java:[line 120] 
AT_STALE_THREAD_WRITE_OF_PRIMITIVE.</action>
+      <action dev="ggregory" type="fix"                due-to="Gary 
Gregory">Fix SpotBugs [ERROR] Medium: Shared primitive variable "atSlashCr" in 
one thread may not yield the value of the most recent write from another thread 
[org.apache.commons.io.input.UnixLineEndingInputStream] At 
UnixLineEndingInputStream.java:[line 124] 
AT_STALE_THREAD_WRITE_OF_PRIMITIVE.</action>
+      <action dev="ggregory" type="fix"                due-to="Gary 
Gregory">Fix SpotBugs [ERROR] Medium: Shared primitive variable "atSlashLf" in 
one thread may not yield the value of the most recent write from another thread 
[org.apache.commons.io.input.UnixLineEndingInputStream] At 
UnixLineEndingInputStream.java:[line 125] 
AT_STALE_THREAD_WRITE_OF_PRIMITIVE.</action>
       <!-- ADD -->
       <action dev="ggregory" type="add" issue="IO-875" due-to="Pierre Baumard, 
Gary Gregory">Add and use 
org.apache.commons.io.file.CountingPathVisitor.accept(Path, 
BasicFileAttributes) #743.</action> 
       <!-- UPDATE -->
diff --git 
a/src/main/java/org/apache/commons/io/input/UnixLineEndingInputStream.java 
b/src/main/java/org/apache/commons/io/input/UnixLineEndingInputStream.java
index c19ac652d..db86c71d4 100644
--- a/src/main/java/org/apache/commons/io/input/UnixLineEndingInputStream.java
+++ b/src/main/java/org/apache/commons/io/input/UnixLineEndingInputStream.java
@@ -90,7 +90,7 @@ public synchronized void mark(final int readLimit) {
      * {@inheritDoc}
      */
     @Override
-    public int read() throws IOException {
+    public synchronized int read() throws IOException {
         final boolean previousWasSlashR = atSlashCr;
         if (atEos) {
             return handleEos(previousWasSlashR);

Reply via email to