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);
     }

Reply via email to