Comments (3)
what I think is like this:
I can give the tool some knowledge:
TextUtils.isEmpty(arg) <-> if (arg == null)
!TextUtils.isEmpty(arg) <-> if (arg != null)
from spotbugs.
Hi! I'm a little bit confused as to your report. I'm not sure what bug description you refer to by "is_null_checked". Can you please state exactly the bug being reported by Findbugs / Spotbugs?
As you say, Android's TextUtils.isEmpty
return true for both null and empty string. Therefore, a code such as:
String uin = null;
if (android.text.TextUtils.isEmpty(uin)) {
uin.length(); // This produces a Null Pointer Exception!
}
As such, if it is reporting a null pointer dereference, then the behavior is actually correct.
Could you please clarify? Thanks in advanced
from spotbugs.
class TestTextUtils {
public void foo(String uin){
if (android.text.TextUtils.isEmpty(uin)){
System.out.println("do nothing");
uin.length(); // expected warning here
} else {
uin.length();
}
}
static boolean isEmpty(String uin){
if (uin == null || uin.length()==0)
return true;
else
return false;
}
public void bar(String uin){
if (isEmpty(uin)){
System.out.println("do nothing");
uin.length(); // expected warning here
} else {
uin.length();
}
}
}
sorry, previous example is not that correct.. you can refer to below code..
Checking this code, Findbugs doesn't find anything..
from spotbugs.
Related Issues (20)
- SE_BAD_FIELD with records and spotbugs-4.8.4 HOT 4
- False Positive: IL_INFINITE_LOOP HOT 6
- Prefix matching behavior of SuppressFBWarnings makes it impossible to suppress just one warning HOT 2
- DataflowAnalysisException in 4.7.3 and 4.8.3 HOT 5
- Preview mode for new/enhanced detectors HOT 2
- How to get line number of method in Interface HOT 1
- Spotbugs 4.8.4 release notes missing in GitHub HOT 5
- MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT false positive in 4.8.4 HOT 14
- Test classes for issue 574 are in the wrong package HOT 1
- Failing while building spotbugs version 4.2.3 using ./gradlew build HOT 5
- Change the release process to automate the changelog HOT 1
- False positive SING_SINGLETON_IMPLEMENTS_SERIALIZABLE when class is not a singleton HOT 3
- Still getting NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE with Objects.requireNonNull
- Version 4.8.4 false positive SING_SINGLETON_GETTER_NOT_SYNCHRONIZED HOT 6
- False positive BC_IMPOSSIBLE_INSTANCEOF HOT 4
- Stylesheet not working in 4.8.4 HOT 6
- Signature of eclipse-plugin expired HOT 1
- FP SING_SINGLETON_HAS_NONPRIVATE_CONSTRUCTOR for record HOT 4
- CT_CONSTRUCTOR_THROW: report violation for final fields HOT 2
- Another false positive SING_SINGLETON_IMPLEMENTS_SERIALIZABLE when class is not a singleton (e.g. protobuf) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spotbugs.