This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-dbcp.git
The following commit(s) were added to refs/heads/master by this push: new f871a7d3 Fix unguarded read f871a7d3 is described below commit f871a7d3756bfb3e55c684dd7f9f38a8bbe8c841 Author: Mark Thomas <ma...@apache.org> AuthorDate: Thu Aug 28 18:26:17 2025 +0100 Fix unguarded read All read access to traceList should be protected by sync block Identified by Coverity scan running on Tomcat's fork of DBCP --- src/main/java/org/apache/commons/dbcp2/AbandonedTrace.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/apache/commons/dbcp2/AbandonedTrace.java b/src/main/java/org/apache/commons/dbcp2/AbandonedTrace.java index 58503169..6dc97388 100644 --- a/src/main/java/org/apache/commons/dbcp2/AbandonedTrace.java +++ b/src/main/java/org/apache/commons/dbcp2/AbandonedTrace.java @@ -131,12 +131,12 @@ public class AbandonedTrace implements TrackedUse, AutoCloseable { * @return List of objects. */ protected List<AbandonedTrace> getTrace() { - final int size = traceList.size(); - if (size == 0) { - return Collections.emptyList(); - } - final ArrayList<AbandonedTrace> result = new ArrayList<>(size); synchronized (this.traceList) { + final int size = traceList.size(); + if (size == 0) { + return Collections.emptyList(); + } + final ArrayList<AbandonedTrace> result = new ArrayList<>(size); final Iterator<WeakReference<AbandonedTrace>> iter = traceList.iterator(); while (iter.hasNext()) { final AbandonedTrace trace = iter.next().get(); @@ -147,8 +147,8 @@ public class AbandonedTrace implements TrackedUse, AutoCloseable { result.add(trace); } } + return result; } - return result; } /**