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-bcel.git
commit 2df092673abb9de8b0c6c157f1d5398a69ca2cb1 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sun Dec 3 10:30:00 2023 -0500 Fix Spotbugs [ERROR] Class org.apache.bcel.util.ClassVector defines non-transient non-serializable instance field vec [org.apache.bcel.util.ClassVector] In ClassVector.java SE_BAD_FIELD --- src/changes/changes.xml | 3 ++- src/main/java/org/apache/bcel/util/ClassVector.java | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 6d422d58..dc0593e0 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -64,7 +64,7 @@ The <action> type attribute can be add,update,fix,remove. --> <body> - <release version="6.8.0" date="TBD" description="Maintenance and bug fix release."> + <release version="6.8.0" date="2023-12-03" description="Maintenance and bug fix release."> <!-- ADD --> <action type="add" dev="ggregory" due-to="Gary Gregory">Add and use InvalidMethodSignatureException extending ClassFormatException.</action> <action type="add" dev="ggregory" due-to="nbauma109">Increase code coverage in Class2HTMLTestCase with new test input Java4Example #186.</action> @@ -75,6 +75,7 @@ The <action> type attribute can be add,update,fix,remove. <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MAJOR_21.</action> <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MINOR_21.</action> <action type="add" dev="ggregory" due-to="nbauma109, Gary Gregory, Mark Roberts">[Bcelifier] stackmap support to pass JDK verifier #177.</action> + <action type="add" dev="ggregory" due-to="Gary Gregory">Fix SpotBugs [ERROR] Class org.apache.bcel.util.ClassVector defines non-transient non-serializable instance field vec [org.apache.bcel.util.ClassVector] In ClassVector.java SE_BAD_FIELD.</action> <!-- FIX --> <action type="fix" dev="markt" due-to="OSS-Fuzz">When parsing an class with an invalid constant reference, ensure ClassParser.parse() throws ClassFormatException, not NullPointerException.</action> <action type="fix" dev="markt" due-to="OSS-Fuzz">Ensure that references to a constant pool entry with index zero trigger a ClassFormatException, not a NullPointerException.</action> diff --git a/src/main/java/org/apache/bcel/util/ClassVector.java b/src/main/java/org/apache/bcel/util/ClassVector.java index 5960b4b7..63180ae6 100644 --- a/src/main/java/org/apache/bcel/util/ClassVector.java +++ b/src/main/java/org/apache/bcel/util/ClassVector.java @@ -32,8 +32,9 @@ import org.apache.bcel.classfile.JavaClass; public class ClassVector implements Serializable { private static final long serialVersionUID = 5600397075672780806L; + @Deprecated - protected List<JavaClass> vec = new ArrayList<>(); + protected transient List<JavaClass> vec = new ArrayList<>(); public void addElement(final JavaClass clazz) { vec.add(clazz); @@ -43,6 +44,11 @@ public class ClassVector implements Serializable { return vec.get(index); } + @SuppressWarnings("unused") // SE_TRANSIENT_FIELD_NOT_RESTORED + private void readObjectNoData() { + vec = new ArrayList<>(); + } + public void removeElementAt(final int index) { vec.remove(index); }