The following document contains the results of FindBugs
FindBugs Version is 3.0.1
Threshold is medium
Effort is min
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| io.github.hapjava.characteristics.impl.base.EnumCharacteristic.getValidValues() may expose internal representation by returning EnumCharacteristic.validValues | MALICIOUS_CODE | EI_EXPOSE_REP | 160 | Medium |
| new io.github.hapjava.characteristics.impl.base.EnumCharacteristic(String, String, CharacteristicEnum[], Optional, Optional, Optional, Optional) may expose internal representation by storing an externally mutable object into EnumCharacteristic.validValues | MALICIOUS_CODE | EI_EXPOSE_REP2 | 56 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Inconsistent synchronization of io.github.hapjava.server.impl.HomekitRoot.nestedBatches; locked 71% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 132 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Comparison of String objects using == or != in io.github.hapjava.server.impl.HomekitUtils.generatePin() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 46 | High |
| Comparison of String objects using == or != in io.github.hapjava.server.impl.HomekitUtils.generatePin() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 46 | High |
| Comparison of String objects using == or != in io.github.hapjava.server.impl.HomekitUtils.generatePin() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 46 | High |
| Comparison of String objects using == or != in io.github.hapjava.server.impl.HomekitUtils.generatePin() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 46 | High |
| Comparison of String objects using == or != in io.github.hapjava.server.impl.HomekitUtils.generatePin() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 46 | High |
| Comparison of String objects using == or != in io.github.hapjava.server.impl.HomekitUtils.generatePin() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 46 | High |
| Comparison of String objects using == or != in io.github.hapjava.server.impl.HomekitUtils.generatePin() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 46 | High |
| Comparison of String objects using == or != in io.github.hapjava.server.impl.HomekitUtils.generatePin() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 46 | High |
| Comparison of String objects using == or != in io.github.hapjava.server.impl.HomekitUtils.generatePin() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 46 | High |
| Comparison of String objects using == or != in io.github.hapjava.server.impl.HomekitUtils.generatePin() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 46 | High |
| Comparison of String objects using == or != in io.github.hapjava.server.impl.HomekitUtils.generatePin() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 46 | High |
| Comparison of String objects using == or != in io.github.hapjava.server.impl.HomekitUtils.generatePin() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 46 | High |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Comparison of String objects using == or != in io.github.hapjava.server.impl.connections.SubscriptionManager.resync(HomekitRegistry) | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 188 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new io.github.hapjava.server.impl.crypto.ChachaDecoder(byte[], byte[]) may expose internal representation by storing an externally mutable object into ChachaDecoder.key | MALICIOUS_CODE | EI_EXPOSE_REP2 | 18 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to len in io.github.hapjava.server.impl.crypto.ChachaEncoder.encodeCiphertext(byte[], byte[]) | STYLE | DLS_DEAD_LOCAL_STORE | 76 | Medium |
| new io.github.hapjava.server.impl.crypto.ChachaEncoder(byte[], byte[]) may expose internal representation by storing an externally mutable object into ChachaEncoder.key | MALICIOUS_CODE | EI_EXPOSE_REP2 | 16 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Boxing/unboxing to parse a primitive io.github.hapjava.server.impl.crypto.HAPSetupCodeUtils.getSetupURI(String, String, int) | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 61 | High |
| Found reliance on default encoding in io.github.hapjava.server.impl.crypto.HAPSetupCodeUtils.calculateHash(String, Digest): String.getBytes() | I18N | DM_DEFAULT_ENCODING | 24 | High |
| Vacuous lor operation on HAPSetupCodeUtils.java:[line 54] in io.github.hapjava.server.impl.crypto.HAPSetupCodeUtils.getSetupURI(String, String, int) | STYLE | INT_VACUOUS_BIT_OPERATION | 54 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Comparison of String parameter using == or != in io.github.hapjava.server.impl.jmdns.JmdnsHomekitAdvertiser.setMac(String) | BAD_PRACTICE | ES_COMPARING_PARAMETER_STRING_WITH_EQ | 83 | High |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Nullcheck of jsonWriter at line 70 of value previously dereferenced in io.github.hapjava.server.impl.json.AccessoryController.listing() | CORRECTNESS | RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE | 70 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Nullcheck of jsonWriter at line 63 of value previously dereferenced in io.github.hapjava.server.impl.json.CharacteristicsController.get(HttpRequest) | CORRECTNESS | RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE | 63 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Nullcheck of jsonWriter at line 30 of value previously dereferenced in io.github.hapjava.server.impl.json.EventController.getMessage(int, int, EventableCharacteristic) | CORRECTNESS | RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE | 30 | Medium |
| Nullcheck of jsonWriter at line 51 of value previously dereferenced in io.github.hapjava.server.impl.json.EventController.getMessage(List) | CORRECTNESS | RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE | 51 | Medium |