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
The following commit(s) were added to refs/heads/master by this push: new 421b9dc [IO-634] Make getCause synchronized and use a Deque instead of Stack (#64) 421b9dc is described below commit 421b9dc027da0f1582120cb59ec9b2ceebf85bc4 Author: Václav Haisman <vhais...@gmail.com> AuthorDate: Fri Nov 1 22:45:49 2019 +0100 [IO-634] Make getCause synchronized and use a Deque instead of Stack (#64) * Fix "Non-synchronized override of synchronized method". * Replace synchronized Stack with unsynchronized Deque in FilenameUtils. --- src/main/java/org/apache/commons/io/FilenameUtils.java | 9 +++++---- src/main/java/org/apache/commons/io/TaggedIOException.java | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/apache/commons/io/FilenameUtils.java b/src/main/java/org/apache/commons/io/FilenameUtils.java index 81d27df..cf7c7cf 100644 --- a/src/main/java/org/apache/commons/io/FilenameUtils.java +++ b/src/main/java/org/apache/commons/io/FilenameUtils.java @@ -18,11 +18,12 @@ package org.apache.commons.io; import java.io.File; import java.io.IOException; +import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Deque; import java.util.List; -import java.util.Stack; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -1385,11 +1386,11 @@ public class FilenameUtils { boolean anyChars = false; int textIdx = 0; int wcsIdx = 0; - final Stack<int[]> backtrack = new Stack<>(); + final Deque<int[]> backtrack = new ArrayDeque<>(wcs.length); // loop around a backtrack stack, to handle complex * matching do { - if (backtrack.size() > 0) { + if (!backtrack.isEmpty()) { final int[] array = backtrack.pop(); wcsIdx = array[0]; textIdx = array[1]; @@ -1448,7 +1449,7 @@ public class FilenameUtils { return true; } - } while (backtrack.size() > 0); + } while (!backtrack.isEmpty()); return false; } diff --git a/src/main/java/org/apache/commons/io/TaggedIOException.java b/src/main/java/org/apache/commons/io/TaggedIOException.java index afa66cb..5c6f0f4 100644 --- a/src/main/java/org/apache/commons/io/TaggedIOException.java +++ b/src/main/java/org/apache/commons/io/TaggedIOException.java @@ -129,7 +129,7 @@ public class TaggedIOException extends IOExceptionWithCause { * @return wrapped exception */ @Override - public IOException getCause() { + public synchronized IOException getCause() { return (IOException) super.getCause(); }