issue1: NPE.COND
Null pointer dereference of ftpClient where null comes from condition
A NullPointerException is thrown in case of an attempt to dereference a null value. The dereference may be a function call, a read or write of a field, or an array access. An NPE.COND error is reported for a local variable being dereferenced if it was checked for null earlier, and the check confirmed that its value might be null.
code like:
try {
ftpClient.completePendingCommand(); // lineA error NPE.COND
} catch (IOException e) {
e.printStackTrace();
}
Fixed like:
if (ftpClient != null){
try {
ftpClient.completePendingCommand();
} catch (IOException e) {
e.printStackTrace();
}
}
---------------------------------------------------------------------------------------------------------------------
issue2: NPE.RET
A NullPointerException is thrown in case of an attempt to dereference a null value. The dereference may be a function call, a read or write of a field, or an array access. NPE.RET is reported for the result of a method call being dereferenced when there is a path on which the value coming from a method call returns null.
code like:
Server serverinfo = (Server)data.getSerializableExtra("SERVER_INFO");
316 selectedServerIP = serverinfo.getServerValue(); // LINE error
317 username = serverinfo.getUseName();
318 password = serverinfo.getValue();
319 localDownloadTo = serverinfo.getlocalPath();
320 localUploadFrom = localDownloadTo;
321 remoteDownloadFrom = serverinfo.getremotePath();
fixed like:
Server serverinfo = (Server)data.getSerializableExtra("S ERVER_INFO");
315 if (serverinfo != null){
316 selectedServerIP = serverinfo.getServerValue();
317 username = serverinfo.getUseName();
318 password = serverinfo.getValue();
319 localDownloadTo = serverinfo.getlocalPath();
320 localUploadFrom = localDownloadTo;
321 remoteDownloadFrom = serverinfo.getremotePath();
}