Browse Source

false positives for null dereferences

master
Stefan Bodewig 8 years ago
parent
commit
e1f9674ab3
3 changed files with 14 additions and 7 deletions
  1. +2
    -1
      src/main/org/apache/tools/ant/UnknownElement.java
  2. +9
    -3
      src/main/org/apache/tools/ant/taskdefs/MacroInstance.java
  3. +3
    -3
      src/main/org/apache/tools/zip/ZipFile.java

+ 2
- 1
src/main/org/apache/tools/ant/UnknownElement.java View File

@@ -646,7 +646,8 @@ public class UnknownElement extends Task {
return false; return false;
} }
for (int i = 0; i < childrenSize; ++i) { for (int i = 0; i < childrenSize; ++i) {
UnknownElement child = (UnknownElement) children.get(i);
// children cannot be null childrenSize would have been 0
UnknownElement child = (UnknownElement) children.get(i); //NOSONAR
if (!child.similar(other.children.get(i))) { if (!child.similar(other.children.get(i))) {
return false; return false;
} }


+ 9
- 3
src/main/org/apache/tools/ant/taskdefs/MacroInstance.java View File

@@ -197,9 +197,12 @@ public class MacroInstance extends Task implements DynamicAttribute, TaskContain
} }
break; break;
case STATE_EXPECT_NAME: case STATE_EXPECT_NAME:
// macroName cannot be null as this state is only
// ever reached from STATE_EXPECT_BRACKET after it
// has been set
if (ch == '}') { if (ch == '}') {
state = STATE_NORMAL; state = STATE_NORMAL;
String name = macroName.toString().toLowerCase(Locale.ENGLISH);
String name = macroName.toString().toLowerCase(Locale.ENGLISH); //NOSONAR
String value = (String) macroMapping.get(name); String value = (String) macroMapping.get(name);
if (value == null) { if (value == null) {
ret.append("@{"); ret.append("@{");
@@ -210,7 +213,7 @@ public class MacroInstance extends Task implements DynamicAttribute, TaskContain
} }
macroName = null; macroName = null;
} else { } else {
macroName.append(ch);
macroName.append(ch); //NOSONAR
} }
break; break;
default: default:
@@ -224,8 +227,11 @@ public class MacroInstance extends Task implements DynamicAttribute, TaskContain
ret.append('@'); ret.append('@');
break; break;
case STATE_EXPECT_NAME: case STATE_EXPECT_NAME:
// macroName cannot be null as this state is only
// ever reached from STATE_EXPECT_BRACKET after it
// has been set
ret.append("@{"); ret.append("@{");
ret.append(macroName.toString());
ret.append(macroName.toString()); //NOSONAR
break; break;
default: default:
break; break;


+ 3
- 3
src/main/org/apache/tools/zip/ZipFile.java View File

@@ -1038,12 +1038,12 @@ public class ZipFile implements Closeable {
@Override @Override
public boolean equals(final Object other) { public boolean equals(final Object other) {
if (super.equals(other)) { if (super.equals(other)) {
// super.equals would return false if other were not an Entry
// super.equals would return false if other were null or not an Entry
final Entry otherEntry = (Entry) other; final Entry otherEntry = (Entry) other;
return offsetEntry.headerOffset return offsetEntry.headerOffset
== otherEntry.offsetEntry.headerOffset
== otherEntry.offsetEntry.headerOffset //NOSONAR
&& offsetEntry.dataOffset && offsetEntry.dataOffset
== otherEntry.offsetEntry.dataOffset;
== otherEntry.offsetEntry.dataOffset; //NOSONAR
} }
return false; return false;
} }


Loading…
Cancel
Save