You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2019/05/04 01:30:48 UTC

[commons-bcel] branch master updated: Fix spotbugs (#25)

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


The following commit(s) were added to refs/heads/master by this push:
     new fdf8ff5  Fix spotbugs (#25)
fdf8ff5 is described below

commit fdf8ff5aa2e7a1253ab8d6b51fdcc7b8452b5787
Author: Alex Herbert <a....@sussex.ac.uk>
AuthorDate: Sat May 4 02:30:43 2019 +0100

    Fix spotbugs (#25)
    
    * Fixed binary search bug found by SpotBugs.
    
    * Fix duplicate null check in close() method found by SpotBugs.
---
 src/main/java/org/apache/bcel/classfile/LineNumberTable.java |  2 +-
 src/main/java/org/apache/bcel/generic/InstructionList.java   |  2 +-
 src/main/java/org/apache/bcel/generic/SWITCH.java            |  2 +-
 src/main/java/org/apache/bcel/util/ModularRuntimeImage.java  | 10 ++++------
 4 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/main/java/org/apache/bcel/classfile/LineNumberTable.java b/src/main/java/org/apache/bcel/classfile/LineNumberTable.java
index 1f376e7..f70035a 100644
--- a/src/main/java/org/apache/bcel/classfile/LineNumberTable.java
+++ b/src/main/java/org/apache/bcel/classfile/LineNumberTable.java
@@ -165,7 +165,7 @@ public final class LineNumberTable extends Attribute {
         /* Do a binary search since the array is ordered.
          */
         do {
-            final int i = (l + r) / 2;
+            final int i = (l + r) >>> 1;
             final int j = line_number_table[i].getStartPC();
             if (j == pos) {
                 return line_number_table[i].getLineNumber();
diff --git a/src/main/java/org/apache/bcel/generic/InstructionList.java b/src/main/java/org/apache/bcel/generic/InstructionList.java
index fc66090..64e912f 100644
--- a/src/main/java/org/apache/bcel/generic/InstructionList.java
+++ b/src/main/java/org/apache/bcel/generic/InstructionList.java
@@ -113,7 +113,7 @@ public class InstructionList implements Iterable<InstructionHandle> {
          * Do a binary search since the pos array is orderd.
          */
         do {
-            final int i = (l + r) / 2;
+            final int i = (l + r) >>> 1;
             final int j = pos[i];
             if (j == target) {
                 return ihs[i];
diff --git a/src/main/java/org/apache/bcel/generic/SWITCH.java b/src/main/java/org/apache/bcel/generic/SWITCH.java
index 2ca20af..010b3cc 100644
--- a/src/main/java/org/apache/bcel/generic/SWITCH.java
+++ b/src/main/java/org/apache/bcel/generic/SWITCH.java
@@ -102,7 +102,7 @@ public final class SWITCH implements CompoundInstruction {
         int i = l;
         int j = r;
         int h;
-        final int m = match[(l + r) / 2];
+        final int m = match[(l + r) >>> 1];
         InstructionHandle h2;
         do {
             while (match[i] < m) {
diff --git a/src/main/java/org/apache/bcel/util/ModularRuntimeImage.java b/src/main/java/org/apache/bcel/util/ModularRuntimeImage.java
index e684f83..1c80dee 100644
--- a/src/main/java/org/apache/bcel/util/ModularRuntimeImage.java
+++ b/src/main/java/org/apache/bcel/util/ModularRuntimeImage.java
@@ -83,12 +83,10 @@ public class ModularRuntimeImage implements Closeable {
     @Override
     public void close() throws IOException {
         if (classLoader != null) {
-            if (classLoader != null) {
-                classLoader.close();
-            }
-            if (fileSystem != null) {
-                fileSystem.close();
-            }
+            classLoader.close();
+        }
+        if (fileSystem != null) {
+            fileSystem.close();
         }
     }