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