The following document contains the results of FindBugs
FindBugs Version is 3.0.1
Threshold is experimental
Effort is max
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to t in net.sf.atmodem4j.core.AbstractModem.sendRawData(String, int) | STYLE | DLS_DEAD_LOCAL_STORE | 437 | Medium |
Dead store to t in net.sf.atmodem4j.core.AbstractModem.waitForPrompt() | STYLE | DLS_DEAD_LOCAL_STORE | 150 | Medium |
Found reliance on default encoding in net.sf.atmodem4j.core.AbstractModem.sendCommandLine(String): String.getBytes() | I18N | DM_DEFAULT_ENCODING | 414 | High |
Found reliance on default encoding in net.sf.atmodem4j.core.AbstractModem.sendRawData(String, int): String.getBytes() | I18N | DM_DEFAULT_ENCODING | 436 | High |
Inconsistent synchronization of net.sf.atmodem4j.core.AbstractModem.callState; locked 89% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 349 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.AbstractModem.connection; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 401 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.AbstractModem.lastResultCode; locked 80% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 126 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.AbstractModem.ringListener; locked 50% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 422 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.AbstractModem.waitingIncommingCall; locked 83% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 605 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.AbstractModem.waitingOutgoingCall; locked 71% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 608 | Medium |
Redundant nullcheck of buffer, which is known to be non-null in net.sf.atmodem4j.core.AbstractModem.dial(String) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 333 | Low |
Redundant nullcheck of buffer, which is known to be non-null in net.sf.atmodem4j.core.AbstractModem.dial(String, CallHandler) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 367 | Low |
Unread field: net.sf.atmodem4j.core.AbstractModem.defaultDialWaitTime; should this field be static? | PERFORMANCE | SS_SHOULD_BE_STATIC | 62 | Medium |
Unread field: net.sf.atmodem4j.core.AbstractModem.defaultTrys; should this field be static? | PERFORMANCE | SS_SHOULD_BE_STATIC | 61 | Medium |
Unread field: net.sf.atmodem4j.core.AbstractModem.defaultWaitTime; should this field be static? | PERFORMANCE | SS_SHOULD_BE_STATIC | 60 | Medium |
net.sf.atmodem4j.core.AbstractModem.dial(String) calls Thread.sleep() with a lock held | MT_CORRECTNESS | SWL_SLEEP_WITH_LOCK_HELD | 331 | Medium |
net.sf.atmodem4j.core.AbstractModem.dial(String, CallHandler) calls Thread.sleep() with a lock held | MT_CORRECTNESS | SWL_SLEEP_WITH_LOCK_HELD | 365 | Medium |
Unread field: net.sf.atmodem4j.core.AbstractModem.lastEcho | PERFORMANCE | URF_UNREAD_FIELD | 125 | Medium |
AbstractModem.modemOutputStream not initialized in constructor and dereferenced in net.sf.atmodem4j.core.AbstractModem.sendCommandLine(String) | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | 414 | Low |
AbstractModem.modemOutputStream not initialized in constructor and dereferenced in net.sf.atmodem4j.core.AbstractModem.sendRawData(String, int) | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | 436 | Low |
Unconditional wait in net.sf.atmodem4j.core.AbstractModem.waitForPrompt() | MT_CORRECTNESS | UW_UNCOND_WAIT | 152 | Low |
Wait not in loop in net.sf.atmodem4j.core.AbstractModem.waitForPrompt() | MT_CORRECTNESS | WA_NOT_IN_LOOP | 152 | Low |
Wait not in loop in net.sf.atmodem4j.core.AbstractModem.waitForResult(int) | MT_CORRECTNESS | WA_NOT_IN_LOOP | 547 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
net.sf.atmodem4j.core.ModemEvent is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 45-46 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Useless control flow in net.sf.atmodem4j.core.ModemFactory.getAtV250Modem(boolean, boolean, boolean) | STYLE | UCF_USELESS_CONTROL_FLOW | 52 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
DefaultGsmExtention.modem not initialized in constructor and dereferenced in net.sf.atmodem4j.core.gsm.DefaultGsmExtention.sendPdu(int, String) | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | 52 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
net.sf.atmodem4j.core.gsm.Entry7BitEncoding.table should be package protected | MALICIOUS_CODE | MS_PKGPROTECT | 33 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Pdu.data not initialized in constructor and dereferenced in net.sf.atmodem4j.core.gsm.Pdu.getEncoding() | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | 59 | Low |
Pdu.data not initialized in constructor and dereferenced in net.sf.atmodem4j.core.gsm.Pdu.getText() | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | 176 | Low |
Pdu.data not initialized in constructor and dereferenced in net.sf.atmodem4j.core.gsm.Pdu.setUserData(byte[], int, int) | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | 146 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to refNumber in net.sf.atmodem4j.core.gsm.PduDecoder.decodeFromOctets(String) | STYLE | DLS_DEAD_LOCAL_STORE | 170 | Medium |
Dead store to userDataHeaderALength in net.sf.atmodem4j.core.gsm.PduDecoder.decodeFromOctets(String) | STYLE | DLS_DEAD_LOCAL_STORE | 171 | Medium |
Dead store to userDataStart in net.sf.atmodem4j.core.gsm.PduDecoder.decodeFromOctets(String) | STYLE | DLS_DEAD_LOCAL_STORE | 164 | Low |
Possible null pointer dereference of result in net.sf.atmodem4j.core.gsm.PduDecoder.decodeFromOctets(String) on exception path | CORRECTNESS | NP_NULL_ON_SOME_PATH_EXCEPTION | 176 | Medium |
Switch statement found in net.sf.atmodem4j.core.gsm.PduDecoder.decodeDataCodingScheme(Pdu) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 55-63 | Medium |
Switch statement found in net.sf.atmodem4j.core.gsm.PduDecoder.decodeFromOctets(String) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 151-159 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
net.sf.atmodem4j.core.gsm.PduDeliver.getSmscTimestamp() may expose internal representation by returning PduDeliver.smscTimestamp | MALICIOUS_CODE | EI_EXPOSE_REP | 70 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
net.sf.atmodem4j.core.gsm.PduEncoder.getAdressOctets() uses the same code for two branches | STYLE | DB_DUPLICATE_BRANCHES | 84 | Medium |
Unused field: net.sf.atmodem4j.core.gsm.PduEncoder.timeToLife | PERFORMANCE | UUF_UNUSED_FIELD | Not available | Medium |
PduEncoder.encoding not initialized in constructor and dereferenced in net.sf.atmodem4j.core.gsm.PduEncoder.getTpDcsOctet() | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | 104 | Low |
PduEncoder.receiverPhonenumber not initialized in constructor and dereferenced in net.sf.atmodem4j.core.gsm.PduEncoder.getAdressOctets() | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | 80 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unused field: net.sf.atmodem4j.core.gsm.UserData$Data8Bit.data | PERFORMANCE | UUF_UNUSED_FIELD | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unwritten field: net.sf.atmodem4j.core.gsm.UserData$Text16Bit.text | CORRECTNESS | UWF_UNWRITTEN_FIELD | 290 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to octet in net.sf.atmodem4j.core.gsm.UserData$Text7Bit.encodePduData(int) | STYLE | DLS_DEAD_LOCAL_STORE | 264 | Low |
UserData$Text7Bit.text not initialized in constructor and dereferenced in net.sf.atmodem4j.core.gsm.UserData$Text7Bit.encodePduData(int) | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | 221 | Low |
UserData$Text7Bit.text not initialized in constructor and dereferenced in net.sf.atmodem4j.core.gsm.UserData$Text7Bit.getSeptets() | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | 195 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
net.sf.atmodem4j.core.parser.Parser.parseByte(int) uses the same code for two switch clauses | STYLE | DB_DUPLICATE_SWITCH_CLAUSES | 515-516 | Low |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.parsedData; locked 93% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 106 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.parsedEcho; locked 81% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 51 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.parserState; locked 75% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 105 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.tokenBusy; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 290 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.tokenConnect; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 285 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.tokenConnectWithText; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 292 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.tokenCrCrLf; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 283 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.tokenCrLf; locked 75% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 282 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.tokenError; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 288 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.tokenNoAnswer; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 291 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.tokenNoCarrier; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 287 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.tokenNoDialtone; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 289 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.tokenOk; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 284 | Medium |
Inconsistent synchronization of net.sf.atmodem4j.core.parser.Parser.tokenRing; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 286 | Medium |
Private method net.sf.atmodem4j.core.parser.Parser.matchResult(String) is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 423 | Low |
Unread field: net.sf.atmodem4j.core.parser.Parser.os | PERFORMANCE | URF_UNREAD_FIELD | 273 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should net.sf.atmodem4j.core.parser.Parser$ConnectionInputStream be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 156-222 | Medium |
Wait not in loop in net.sf.atmodem4j.core.parser.Parser$ConnectionInputStream.read() | MT_CORRECTNESS | WA_NOT_IN_LOOP | 202 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
net.sf.atmodem4j.core.parser.ResultCodeToken.getData() may expose internal representation by returning ResultCodeToken.data | MALICIOUS_CODE | EI_EXPOSE_REP | 61 | Medium |
new net.sf.atmodem4j.core.parser.ResultCodeToken(String, String[], String) may expose internal representation by storing an externally mutable object into ResultCodeToken.data | MALICIOUS_CODE | EI_EXPOSE_REP2 | 56 | Medium |