# FindBugs Report

## Project Information

Project: JAP

FindBugs version: 1.2.1-rc2

Code analyzed:

- /home/ronin/src/Jap/build

## Metrics

72437 lines of code analysed, in 1227 classes, in 77 packages.

Metric | Total | Density*
--- | --- | ---
High Priority Warnings | 104 | 1.44
Medium Priority Warnings | 643 | 8.88
Total Warnings | 747 | 10.31

(* Defects per Thousand lines of non-commenting source statements)

## Contents

- Bad practice Warnings
- Correctness Warnings
- Malicious code vulnerability Warnings
- Multithreaded correctness Warnings
- Performance Warnings
- Dodgy Warnings
- Details

# Summary

Warning Type | Number
--- | ---
Bad practice Warnings | 221
Correctness Warnings | 36
Malicious code vulnerability Warnings | 129
Multithreaded correctness Warnings | 108
Performance Warnings | 117
Dodgy Warnings | 136
Total | 747

# Warnings

Click on a warning row to see full context information.

## Bad practice Warnings

Code&nbsp; | Warning
--- | ---
BC | Random object created and used only once in anon.mixminion.FirstMMRConnection.sendJunk()
| Bug type DMI_RANDOM_USED_ONLY_ONCE (click for details) In class anon.mixminion.FirstMMRConnection In method anon.mixminion.FirstMMRConnection.sendJunk() Called method java.util.Random.nextBytes(byte[]) At FirstMMRConnection.java:[line 258]
BC | Random object created and used only once in gui.PopupMenu.PopupMenu(JPopupMenu, boolean)
| Bug type DMI_RANDOM_USED_ONLY_ONCE (click for details) In class gui.PopupMenu In method gui.PopupMenu.PopupMenu(JPopupMenu, boolean) Called method java.util.Random.nextDouble() At PopupMenu.java:[line 154]
BC | Random object created and used only once in infoservice.agreement.multicast.messages.CommitmentMessage.CommitmentMessage()
| Bug type DMI_RANDOM_USED_ONLY_ONCE (click for details) In class infoservice.agreement.multicast.messages.CommitmentMessage In method infoservice.agreement.multicast.messages.CommitmentMessage.CommitmentMessage() Called method java.util.Random.nextLong() At CommitmentMessage.java:[line 78]
BC | Random object created and used only once in infoservice.agreement.multicast.messages.CommitmentMessage.CommitmentMessage()
| Bug type DMI_RANDOM_USED_ONLY_ONCE (click for details) In class infoservice.agreement.multicast.messages.CommitmentMessage In method infoservice.agreement.multicast.messages.CommitmentMessage.CommitmentMessage() Called method java.util.Random.nextLong() At CommitmentMessage.java:[line 79]
BC | Random object created and used only once in infoservice.agreement.multicast.messages.CommitmentMessage.CommitmentMessage()
| Bug type DMI_RANDOM_USED_ONLY_ONCE (click for details) In class infoservice.agreement.multicast.messages.CommitmentMessage In method infoservice.agreement.multicast.messages.CommitmentMessage.CommitmentMessage() Called method java.util.Random.nextLong() At CommitmentMessage.java:[line 80]
BC | Random object created and used only once in jap.TrustModel.TrustModel()
| Bug type DMI_RANDOM_USED_ONLY_ONCE (click for details) In class jap.TrustModel In method jap.TrustModel.TrustModel() Called method java.util.Random.nextLong() At TrustModel.java:[line 202]
DE | anon.infoservice.Database.getRandomEntry() might ignore java.lang.Exception
| Bug type DE_MIGHT_IGNORE (click for details) In class anon.infoservice.Database In method anon.infoservice.Database.getRandomEntry() Exception class java.lang.Exception At Database.java:[line 657]
DE | anon.infoservice.StatusInfo.StatusInfo(Element, int) might ignore java.lang.Exception
| Bug type DE_MIGHT_IGNORE (click for details) In class anon.infoservice.StatusInfo In method anon.infoservice.StatusInfo.StatusInfo(Element, int) Exception class java.lang.Exception At StatusInfo.java:[line 190]
DE | anon.util.XMLUtil.<static initializer>() might ignore java.lang.Exception
| Bug type DE_MIGHT_IGNORE (click for details) In class anon.util.XMLUtil In method anon.util.XMLUtil.<static initializer>() Exception class java.lang.Exception At XMLUtil.java:[line 92]
DE | forward.server.ForwardScheduler.setMaximumNumberOfConnections(int) might ignore java.lang.Exception
| Bug type DE_MIGHT_IGNORE (click for details) In class forward.server.ForwardScheduler In method forward.server.ForwardScheduler.setMaximumNumberOfConnections(int) Exception class java.lang.Exception At ForwardScheduler.java:[line 267]
DE | infoservice.agreement.multicast.messages.EchoMulticastMessageFactory.checkOriginator(Node, String) might ignore java.lang.Exception
| Bug type DE_MIGHT_IGNORE (click for details) In class infoservice.agreement.multicast.messages.EchoMulticastMessageFactory In method infoservice.agreement.multicast.messages.EchoMulticastMessageFactory.checkOriginator(Node, String) Exception class java.lang.Exception At EchoMulticastMessageFactory.java:[line 200]
DE | infoservice.agreement.paxos.integration.InfoServiceMessageFactory.checkOriginator(Node, String) might ignore java.lang.Exception
| Bug type DE_MIGHT_IGNORE (click for details) In class infoservice.agreement.paxos.integration.InfoServiceMessageFactory In method infoservice.agreement.paxos.integration.InfoServiceMessageFactory.checkOriginator(Node, String) Exception class java.lang.Exception At InfoServiceMessageFactory.java:[line 236]
DE | infoservice.Configuration.Configuration(Properties) might ignore java.lang.Exception
| Bug type DE_MIGHT_IGNORE (click for details) In class infoservice.Configuration In method infoservice.Configuration.Configuration(Properties) Exception class java.lang.Exception At Configuration.java:[line 616]
DE | infoservice.tor.MixminionDirectoryAgent.run() might ignore java.lang.Exception
| Bug type DE_MIGHT_IGNORE (click for details) In class infoservice.tor.MixminionDirectoryAgent In method infoservice.tor.MixminionDirectoryAgent.run() Exception class java.lang.Exception At MixminionDirectoryAgent.java:[line 212]
DE | jpi.helper.DummyCreditCardHelper.run() might ignore java.lang.Exception
| Bug type DE_MIGHT_IGNORE (click for details) In class jpi.helper.DummyCreditCardHelper In method jpi.helper.DummyCreditCardHelper.run() Exception class java.lang.Exception At DummyCreditCardHelper.java:[line 111]
DE | platform.LinuxOS.LinuxOS() might ignore java.lang.Exception
| Bug type DE_MIGHT_IGNORE (click for details) In class platform.LinuxOS In method platform.LinuxOS.LinuxOS() Exception class java.lang.Exception At LinuxOS.java:[line 63]
Dm | infoservice.InfoService.InfoService(String) invokes System.exit(...), which shuts down the entire virtual machine
| Bug type DM_EXIT (click for details) In class infoservice.InfoService In method infoservice.InfoService.InfoService(String) At InfoService.java:[line 146]
Dm | infoservice.InfoServicePropagandist.run() invokes System.exit(...), which shuts down the entire virtual machine
| Bug type DM_EXIT (click for details) In class infoservice.InfoServicePropagandist In method infoservice.InfoServicePropagandist.run() At InfoServicePropagandist.java:[line 209]
Dm | JAP.startJAP() invokes System.exit(...), which shuts down the entire virtual machine
| Bug type DM_EXIT (click for details) In class JAP In method JAP.startJAP() At JAP.java:[line 138] Another occurrence at JAP.java:[line 151] Another occurrence at JAP.java:[line 165] Another occurrence at JAP.java:[line 191] Another occurrence at JAP.java:[line 206] Another occurrence at JAP.java:[line 222] Another occurrence at JAP.java:[line 305]
Dm | jap.JAPController.loadConfigFile(String, boolean, ISplashResponse) invokes System.exit(...), which shuts down the entire virtual machine
| Bug type DM_EXIT (click for details) In class jap.JAPController In method jap.JAPController.loadConfigFile(String, boolean, ISplashResponse) At JAPController.java:[line 1606] Another occurrence at JAPController.java:[line 1620]
Dm | jap.JAPController$18.run() invokes System.exit(...), which shuts down the entire virtual machine
| Bug type DM_EXIT (click for details) In class jap.JAPController$18 In method jap.JAPController$18.run() At JAPController.java:[line 3545]
Eq | anon.infoservice.ListenerInterface defines equals(ListenerInterface) method and uses Object.equals(Object)
| Bug type EQ_SELF_USE_OBJECT (click for details) In class anon.infoservice.ListenerInterface In method anon.infoservice.ListenerInterface.equals(ListenerInterface) At ListenerInterface.java:[lines 303-323]
Eq | anon.infoservice.ProxyInterface defines equals(ProxyInterface) method and uses Object.equals(Object)
| Bug type EQ_SELF_USE_OBJECT (click for details) In class anon.infoservice.ProxyInterface In method anon.infoservice.ProxyInterface.equals(ProxyInterface) At ProxyInterface.java:[lines 428-435]
Eq | anon.pay.xml.XMLJapPublicKey defines equals(XMLJapPublicKey) method and uses Object.equals(Object)
| Bug type EQ_SELF_USE_OBJECT (click for details) In class anon.pay.xml.XMLJapPublicKey In method anon.pay.xml.XMLJapPublicKey.equals(XMLJapPublicKey) At XMLJapPublicKey.java:[lines 159-183]
Eq | anon.util.test.DummyXMLEncodable defines equals(DummyXMLEncodable) method and uses Object.equals(Object)
| Bug type EQ_SELF_USE_OBJECT (click for details) In class anon.util.test.DummyXMLEncodable In method anon.util.test.DummyXMLEncodable.equals(DummyXMLEncodable) At DummyXMLEncodable.java:[lines 182-222]
FI | anon.shared.IOQueue.buff is set to null inside finalize method
| Bug type FI_FINALIZER_NULLS_FIELDS (click for details) In class anon.shared.IOQueue In method anon.shared.IOQueue.finalize() At IOQueue.java:[line 252] Field anon.shared.IOQueue.buff
FI | gui.dialog.JAPDialog.dispose() explicitly invokes gui.GUIUtils$WindowDocker.finalize()
| Bug type FI_EXPLICIT_INVOCATION (click for details) In class gui.dialog.JAPDialog In method gui.dialog.JAPDialog.dispose() Called method gui.GUIUtils$WindowDocker.finalize() At JAPDialog.java:[line 2813]
FI | gui.dialog.JAPDialog.setDockable(boolean) explicitly invokes gui.GUIUtils$WindowDocker.finalize()
| Bug type FI_EXPLICIT_INVOCATION (click for details) In class gui.dialog.JAPDialog In method gui.dialog.JAPDialog.setDockable(boolean) Called method gui.GUIUtils$WindowDocker.finalize() At JAPDialog.java:[line 2966]
FI | gui.GUIUtils$WindowDocker.m_queue is set to null inside finalize method
| Bug type FI_FINALIZER_NULLS_FIELDS (click for details) In class gui.GUIUtils$WindowDocker In method gui.GUIUtils$WindowDocker.finalize() At GUIUtils.java:[line 691] Field gui.GUIUtils$WindowDocker.m_queue
FI | gui.GUIUtils$WindowDocker.m_listener is set to null inside finalize method
| Bug type FI_FINALIZER_NULLS_FIELDS (click for details) In class gui.GUIUtils$WindowDocker In method gui.GUIUtils$WindowDocker.finalize() At GUIUtils.java:[line 695] Field gui.GUIUtils$WindowDocker.m_listener
FI | jap.JAPViewIconified.dispose() explicitly invokes gui.GUIUtils$WindowDocker.finalize()
| Bug type FI_EXPLICIT_INVOCATION (click for details) In class jap.JAPViewIconified In method jap.JAPViewIconified.dispose() Called method gui.GUIUtils$WindowDocker.finalize() At JAPViewIconified.java:[line 470]
HE | anon.infoservice.ListenerInterface defines equals and uses Object.hashCode()
| Bug type HE_EQUALS_USE_HASHCODE (click for details) In class anon.infoservice.ListenerInterface In method anon.infoservice.ListenerInterface.equals(ListenerInterface) At ListenerInterface.java:[lines 303-323]
HE | anon.infoservice.ProxyInterface defines equals and uses Object.hashCode()
| Bug type HE_EQUALS_USE_HASHCODE (click for details) In class anon.infoservice.ProxyInterface In method anon.infoservice.ProxyInterface.equals(ProxyInterface) At ProxyInterface.java:[lines 428-435]
HE | anon.pay.xml.XMLJapPublicKey defines equals and uses Object.hashCode()
| Bug type HE_EQUALS_USE_HASHCODE (click for details) In class anon.pay.xml.XMLJapPublicKey In method anon.pay.xml.XMLJapPublicKey.equals(XMLJapPublicKey) At XMLJapPublicKey.java:[lines 159-183]
HE | anon.util.test.DummyXMLEncodable defines equals and uses Object.hashCode()
| Bug type HE_EQUALS_USE_HASHCODE (click for details) In class anon.util.test.DummyXMLEncodable In method anon.util.test.DummyXMLEncodable.equals(DummyXMLEncodable) At DummyXMLEncodable.java:[lines 182-222]
HE | infoservice.agreement.paxos.messages.PaxosMessage defines equals and uses Object.hashCode()
| Bug type HE_EQUALS_USE_HASHCODE (click for details) In class infoservice.agreement.paxos.messages.PaxosMessage In method infoservice.agreement.paxos.messages.PaxosMessage.equals(Object) At PaxosMessage.java:[lines 100-109]
IMSE | Dubious catching of IllegalMonitorStateException in gui.dialog.DialogContentPane.closeDialog(boolean)
| Bug type IMSE_DONT_CATCH_IMSE (click for details) In class gui.dialog.DialogContentPane In method gui.dialog.DialogContentPane.closeDialog(boolean) At DialogContentPane.java:[line 2458]
IMSE | Dubious catching of IllegalMonitorStateException in gui.dialog.JAPDialog$7.run()
| Bug type IMSE_DONT_CATCH_IMSE (click for details) In class gui.dialog.JAPDialog$7 In method gui.dialog.JAPDialog$7.run() At JAPDialog.java:[line 3657]
IMSE | Dubious catching of IllegalMonitorStateException in gui.dialog.JAPDialog$DialogWindowAdapter.windowClosing(WindowEvent)
| Bug type IMSE_DONT_CATCH_IMSE (click for details) In class gui.dialog.JAPDialog$DialogWindowAdapter In method gui.dialog.JAPDialog$DialogWindowAdapter.windowClosing(WindowEvent) At JAPDialog.java:[line 3293]
IMSE | Dubious catching of IllegalMonitorStateException in gui.GUIUtils$8.run()
| Bug type IMSE_DONT_CATCH_IMSE (click for details) In class gui.GUIUtils$8 In method gui.GUIUtils$8.run() At GUIUtils.java:[line 1587]
Nm | The class name anon.crypto.tinytls.test.tlsclienttest doesn't start with an upper case letter
| Bug type NM_CLASS_NAMING_CONVENTION (click for details) In class anon.crypto.tinytls.test.tlsclienttest At tlsclienttest.java:[lines 12-46]
Nm | The method name anon.crypto.tinytls.TLSException.Alert() doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.crypto.tinytls.TLSException In method anon.crypto.tinytls.TLSException.Alert() At TLSException.java:[line 81]
Nm | The class name anon.crypto.tinytls.util.hash doesn't start with an upper case letter
| Bug type NM_CLASS_NAMING_CONVENTION (click for details) In class anon.crypto.tinytls.util.hash At hash.java:[lines 42-157]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Delete(String) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Delete(String) At DummyHTTPConnection.java:[line 278]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Delete(String, NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Delete(String, NVPair[]) At DummyHTTPConnection.java:[line 283]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.ExtensionMethod(String, String, HttpOutputStream, NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.ExtensionMethod(String, String, HttpOutputStream, NVPair[]) At DummyHTTPConnection.java:[line 305]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.ExtensionMethod(String, String, byte[], NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.ExtensionMethod(String, String, byte[], NVPair[]) At DummyHTTPConnection.java:[line 299]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Get(String) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Get(String) At DummyHTTPConnection.java:[line 152]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Get(String, String) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Get(String, String) At DummyHTTPConnection.java:[line 168]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Get(String, String, NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Get(String, String, NVPair[]) At DummyHTTPConnection.java:[line 173]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Get(String, NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Get(String, NVPair[]) At DummyHTTPConnection.java:[line 157]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Get(String, NVPair[], NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Get(String, NVPair[], NVPair[]) At DummyHTTPConnection.java:[line 163]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Head(String) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Head(String) At DummyHTTPConnection.java:[line 126]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Head(String, String) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Head(String, String) At DummyHTTPConnection.java:[line 142]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Head(String, String, NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Head(String, String, NVPair[]) At DummyHTTPConnection.java:[line 147]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Head(String, NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Head(String, NVPair[]) At DummyHTTPConnection.java:[line 131]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Head(String, NVPair[], NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Head(String, NVPair[], NVPair[]) At DummyHTTPConnection.java:[line 137]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Options(String) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Options(String) At DummyHTTPConnection.java:[line 256]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Options(String, NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Options(String, NVPair[]) At DummyHTTPConnection.java:[line 261]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Options(String, NVPair[], HttpOutputStream) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Options(String, NVPair[], HttpOutputStream) At DummyHTTPConnection.java:[line 273]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Options(String, NVPair[], byte[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Options(String, NVPair[], byte[]) At DummyHTTPConnection.java:[line 267]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Post(String) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Post(String) At DummyHTTPConnection.java:[line 178]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Post(String, HttpOutputStream) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Post(String, HttpOutputStream) At DummyHTTPConnection.java:[line 214]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Post(String, HttpOutputStream, NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Post(String, HttpOutputStream, NVPair[]) At DummyHTTPConnection.java:[line 220]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Post(String, String) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Post(String, String) At DummyHTTPConnection.java:[line 194]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Post(String, String, NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Post(String, String, NVPair[]) At DummyHTTPConnection.java:[line 199]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Post(String, byte[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Post(String, byte[]) At DummyHTTPConnection.java:[line 204]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Post(String, byte[], NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Post(String, byte[], NVPair[]) At DummyHTTPConnection.java:[line 209]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Post(String, NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Post(String, NVPair[]) At DummyHTTPConnection.java:[line 183]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Post(String, NVPair[], NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Post(String, NVPair[], NVPair[]) At DummyHTTPConnection.java:[line 189]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Put(String, HttpOutputStream) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Put(String, HttpOutputStream) At DummyHTTPConnection.java:[line 245]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Put(String, HttpOutputStream, NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Put(String, HttpOutputStream, NVPair[]) At DummyHTTPConnection.java:[line 251]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Put(String, String) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Put(String, String) At DummyHTTPConnection.java:[line 225]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Put(String, String, NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Put(String, String, NVPair[]) At DummyHTTPConnection.java:[line 230]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Put(String, byte[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Put(String, byte[]) At DummyHTTPConnection.java:[line 235]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Put(String, byte[], NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Put(String, byte[], NVPair[]) At DummyHTTPConnection.java:[line 240]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Trace(String) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Trace(String) At DummyHTTPConnection.java:[line 293]
Nm | The method name anon.infoservice.test.DummyHTTPConnection.Trace(String, NVPair[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.Trace(String, NVPair[]) At DummyHTTPConnection.java:[line 288]
Nm | The method name anon.mixminion.message.MixMinionCryptoUtil.Encrypt(byte[], byte[]) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class anon.mixminion.message.MixMinionCryptoUtil In method anon.mixminion.message.MixMinionCryptoUtil.Encrypt(byte[], byte[]) At MixMinionCryptoUtil.java:[line 129]
Nm | The class name anon.tor.test.proxythread doesn't start with an upper case letter
| Bug type NM_CLASS_NAMING_CONVENTION (click for details) In class anon.tor.test.proxythread At proxythread.java:[lines 27-102]
Nm | The class name anon.tor.test.tor2jap doesn't start with an upper case letter
| Bug type NM_CLASS_NAMING_CONVENTION (click for details) In class anon.tor.test.tor2jap At tor2jap.java:[lines 18-48]
Nm | The method name gui.JAPAWTMsgBox.MsgBox(Frame, String, String) doesn't start with an lower case letter
| Bug type NM_METHOD_NAMING_CONVENTION (click for details) In class gui.JAPAWTMsgBox In method gui.JAPAWTMsgBox.MsgBox(Frame, String, String) At JAPAWTMsgBox.java:[lines 109-115]
NP | gui.AbstractISOCodeMapper.toString() may return null
| Bug type NP_TOSTRING_COULD_RETURN_NULL (click for details) In class gui.AbstractISOCodeMapper In method gui.AbstractISOCodeMapper.toString() Local variable named strCName Returned at AbstractISOCodeMapper.java:[line 230] Known null at AbstractISOCodeMapper.java:[line 225]
ODR | jpi.db.DataBase.buyFlatrate(long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.buyFlatrate(long) Need to close java.sql.Statement At DataBase.java:[line 2279]
ODR | jpi.db.DataBase.buyFlatrate(long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.buyFlatrate(long) Need to close java.sql.Statement At DataBase.java:[line 2299]
ODR | jpi.db.DataBase.buyVolumePlan(long, XMLVolumePlan) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.buyVolumePlan(long, XMLVolumePlan) Need to close java.sql.Statement At DataBase.java:[line 2842]
ODR | jpi.db.DataBase.buyVolumePlan(long, XMLVolumePlan) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.buyVolumePlan(long, XMLVolumePlan) Need to close java.sql.Statement At DataBase.java:[line 2864]
ODR | jpi.db.DataBase.chargeAccount(long, long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.chargeAccount(long, long) Need to close java.sql.Statement At DataBase.java:[line 1294]
ODR | jpi.db.DataBase.chargeAccount(long, long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.chargeAccount(long, long) Need to close java.sql.Statement At DataBase.java:[line 1308]
ODR | jpi.db.DataBase.chargeAccount(long, long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.chargeAccount(long, long) Need to close java.sql.Statement At DataBase.java:[line 1321]
ODR | jpi.db.DataBase.chargeAccount(long, long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.chargeAccount(long, long) Need to close java.sql.Statement At DataBase.java:[line 1328]
ODR | jpi.db.DataBase.checkValidity(String) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.checkValidity(String) Need to close java.sql.Statement At DataBase.java:[line 2173]
ODR | jpi.db.DataBase.createTables() may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.createTables() Need to close java.sql.Statement At DataBase.java:[line 1215]
ODR | jpi.db.DataBase.createTables() may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.createTables() Need to close java.sql.Statement At DataBase.java:[line 1231]
ODR | jpi.db.DataBase.creditMixes(Hashtable, long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.creditMixes(Hashtable, long) Need to close java.sql.Statement At DataBase.java:[line 948]
ODR | jpi.db.DataBase.debitAccount(long, Hashtable, long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.debitAccount(long, Hashtable, long) Need to close java.sql.Statement At DataBase.java:[line 843]
ODR | jpi.db.DataBase.dropTables() may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.dropTables() Need to close java.sql.Statement At DataBase.java:[line 1258]
ODR | jpi.db.DataBase.getCC(long, String) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getCC(long, String) Need to close java.sql.Statement At DataBase.java:[line 1132]
ODR | jpi.db.DataBase.getCostConfirmations(long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getCostConfirmations(long) Need to close java.sql.Statement At DataBase.java:[line 505]
ODR | jpi.db.DataBase.getFlatrateConfig() may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getFlatrateConfig() Need to close java.sql.Statement At DataBase.java:[line 2331]
ODR | jpi.db.DataBase.getNextAccountNumber() may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getNextAccountNumber() Need to close java.sql.Statement At DataBase.java:[line 631]
ODR | jpi.db.DataBase.getNextTransferNumber() may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getNextTransferNumber() Need to close java.sql.Statement At DataBase.java:[line 671]
ODR | jpi.db.DataBase.getOperatorBalance(String) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getOperatorBalance(String) Need to close java.sql.Statement At DataBase.java:[line 1858]
ODR | jpi.db.DataBase.getOperatorInfo(String) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getOperatorInfo(String) Need to close java.sql.Statement At DataBase.java:[line 1886]
ODR | jpi.db.DataBase.getOperatorOfMix(String) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getOperatorOfMix(String) Need to close java.sql.Statement At DataBase.java:[line 2118]
ODR | jpi.db.DataBase.getPassivePaymentData(String) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getPassivePaymentData(String) Need to close java.sql.Statement At DataBase.java:[line 1611]
ODR | jpi.db.DataBase.getPaymentOptionsFromDb() may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getPaymentOptionsFromDb() Need to close java.sql.Statement At DataBase.java:[line 2610]
ODR | jpi.db.DataBase.getPaymentOptionsFromDb() may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getPaymentOptionsFromDb() Need to close java.sql.Statement At DataBase.java:[line 2678]
ODR | jpi.db.DataBase.getPaymentSettings() may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getPaymentSettings() Need to close java.sql.Statement At DataBase.java:[line 2585]
ODR | jpi.db.DataBase.getPriceCertForHash(String) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getPriceCertForHash(String) Need to close java.sql.Statement At DataBase.java:[line 2023]
ODR | jpi.db.DataBase.getPriceCerts(String) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getPriceCerts(String) Need to close java.sql.Statement At DataBase.java:[line 1796]
ODR | jpi.db.DataBase.getPriceCertsForMix(String) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getPriceCertsForMix(String) Need to close java.sql.Statement At DataBase.java:[line 2076]
ODR | jpi.db.DataBase.getTransferAmount(long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getTransferAmount(long) Need to close java.sql.Statement At DataBase.java:[line 1407]
ODR | jpi.db.DataBase.getUsedDate(long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getUsedDate(long) Need to close java.sql.Statement At DataBase.java:[line 1377]
ODR | jpi.db.DataBase.getVolumePlan(String) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getVolumePlan(String) Need to close java.sql.Statement At DataBase.java:[line 2759]
ODR | jpi.db.DataBase.getVolumePlans() may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getVolumePlans() Need to close java.sql.Statement At DataBase.java:[line 2710]
ODR | jpi.db.DataBase.getXmlBalance(long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getXmlBalance(long) Need to close java.sql.Statement At DataBase.java:[line 471]
ODR | jpi.db.DataBase.insertCC(XMLEasyCC) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.insertCC(XMLEasyCC) Need to close java.sql.Statement At DataBase.java:[line 773]
ODR | jpi.db.DataBase.isTanUsed(long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.isTanUsed(long) Need to close java.sql.Statement At DataBase.java:[line 1353]
ODR | jpi.db.DataBase.redeemCoupon(String, long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.redeemCoupon(String, long) Need to close java.sql.Statement At DataBase.java:[line 2143]
ODR | jpi.db.DataBase.setPaymentOptions() may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.setPaymentOptions() Need to close java.sql.Statement At DataBase.java:[line 2487]
ODR | jpi.db.DataBase.setPaymentSettings() may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.setPaymentSettings() Need to close java.sql.Statement At DataBase.java:[line 2431]
ODR | jpi.db.DataBase.setTransferNumberUsed(long) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.setTransferNumberUsed(long) Need to close java.sql.Statement At DataBase.java:[line 730]
ODR | jpi.db.DataBase.setVolumePlans() may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.setVolumePlans() Need to close java.sql.Statement At DataBase.java:[line 2452]
ODR | jpi.db.DataBase.storeBankAccount(XMLBankAccount) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.storeBankAccount(XMLBankAccount) Need to close java.sql.Statement At DataBase.java:[line 2002]
ODR | jpi.db.DataBase.updateCC(XMLEasyCC) may fail to close java.sql.Statement
| Bug type ODR_OPEN_DATABASE_RESOURCE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.updateCC(XMLEasyCC) Need to close java.sql.Statement At DataBase.java:[line 809]
OS | anon.infoservice.InfoServiceDBEntry$1.run() may fail to close stream
| Bug type OS_OPEN_STREAM (click for details) In class anon.infoservice.InfoServiceDBEntry$1 In method anon.infoservice.InfoServiceDBEntry$1.run() Need to close java.io.InputStream At InfoServiceDBEntry.java:[line 854]
OS | infoservice.InfoService.InfoService(String) may fail to close stream
| Bug type OS_OPEN_STREAM (click for details) In class infoservice.InfoService In method infoservice.InfoService.InfoService(String) Need to close java.io.InputStream At InfoService.java:[line 140]
OS | infoservice.mailsystem.central.MailContext.MailContext(String) may fail to close stream
| Bug type OS_OPEN_STREAM (click for details) In class infoservice.mailsystem.central.MailContext In method infoservice.mailsystem.central.MailContext.MailContext(String) Need to close java.io.InputStream At MailContext.java:[line 112]
OS | jap.JAPSplash.JAPSplash(Frame, String) may fail to close stream
| Bug type OS_OPEN_STREAM (click for details) In class jap.JAPSplash In method jap.JAPSplash.JAPSplash(Frame, String) Need to close java.io.InputStream At JAPSplash.java:[line 101]
OS | jap.JAPSplash.JAPSplash(Frame, String) may fail to close stream
| Bug type OS_OPEN_STREAM (click for details) In class jap.JAPSplash In method jap.JAPSplash.JAPSplash(Frame, String) Need to close java.io.InputStream At JAPSplash.java:[line 116]
OS | jap.JAPSplash.JAPSplash(Frame, String) may fail to close stream
| Bug type OS_OPEN_STREAM (click for details) In class jap.JAPSplash In method jap.JAPSplash.JAPSplash(Frame, String) Need to close java.io.InputStream At JAPSplash.java:[line 151]
OS | jap.JAPSplash.JAPSplash(Frame, String) may fail to close stream
| Bug type OS_OPEN_STREAM (click for details) In class jap.JAPSplash In method jap.JAPSplash.JAPSplash(Frame, String) Need to close java.io.InputStream At JAPSplash.java:[line 166]
OS | platform.WindowsOS.getConfigPath() may fail to close stream
| Bug type OS_OPEN_STREAM (click for details) In class platform.WindowsOS In method platform.WindowsOS.getConfigPath() Need to close java.io.Reader At WindowsOS.java:[line 84]
RR | anon.mixminion.FirstMMRConnection.connect() ignores result of java.io.BufferedInputStream.read(byte[], int, int)
| Bug type RR_NOT_CHECKED (click for details) In class anon.mixminion.FirstMMRConnection In method anon.mixminion.FirstMMRConnection.connect() Called method java.io.BufferedInputStream.read(byte[], int, int) At FirstMMRConnection.java:[line 431]
RR | anon.mixminion.FirstMMRConnection.receive(byte[], String) ignores result of java.io.BufferedInputStream.read(byte[], int, int)
| Bug type RR_NOT_CHECKED (click for details) In class anon.mixminion.FirstMMRConnection In method anon.mixminion.FirstMMRConnection.receive(byte[], String) Called method java.io.BufferedInputStream.read(byte[], int, int) At FirstMMRConnection.java:[line 283] Another occurrence at FirstMMRConnection.java:[line 288]
Se | Class anon.crypto.MyRSAPrivateKey defines non-transient non-serializable instance field m_algorithm
| Bug type SE_BAD_FIELD (click for details) In class anon.crypto.MyRSAPrivateKey Field anon.crypto.MyRSAPrivateKey.m_algorithm In MyRSAPrivateKey.java
Se | Class anon.crypto.MyRSAPublicKey defines non-transient non-serializable instance field m_algorithm
| Bug type SE_BAD_FIELD (click for details) In class anon.crypto.MyRSAPublicKey Field anon.crypto.MyRSAPublicKey.m_algorithm In MyRSAPublicKey.java
Se | Class anon.crypto.test.DummyPrivateKey defines non-transient non-serializable instance field m_algorithm
| Bug type SE_BAD_FIELD (click for details) In class anon.crypto.test.DummyPrivateKey Field anon.crypto.test.DummyPrivateKey.m_algorithm In DummyPrivateKey.java
Se | anon.crypto.test.DummySignatureAlgorithm stored into non-transient field DummyPrivateKey.m_algorithm
| Bug type SE_BAD_FIELD_STORE (click for details) In class anon.crypto.test.DummyPrivateKey Field anon.crypto.test.DummyPrivateKey.m_algorithm Actual type anon.crypto.test.DummySignatureAlgorithm At DummyPrivateKey.java:[line 54]
Se | Class anon.crypto.test.DummyPublicKey defines non-transient non-serializable instance field m_algorithm
| Bug type SE_BAD_FIELD (click for details) In class anon.crypto.test.DummyPublicKey Field anon.crypto.test.DummyPublicKey.m_algorithm In DummyPublicKey.java
Se | anon.crypto.test.DummySignatureAlgorithm stored into non-transient field DummyPublicKey.m_algorithm
| Bug type SE_BAD_FIELD_STORE (click for details) In class anon.crypto.test.DummyPublicKey Field anon.crypto.test.DummyPublicKey.m_algorithm Actual type anon.crypto.test.DummySignatureAlgorithm At DummyPublicKey.java:[line 54]
Se | Class gui.CaptchaDialog$2 defines non-transient non-serializable instance field val$captcha
| Bug type SE_BAD_FIELD (click for details) In class gui.CaptchaDialog$2 Field gui.CaptchaDialog$2.val$captcha In CaptchaDialog.java
Se | Class gui.CertDetailsDialog$CertShortInfoPanel defines non-transient non-serializable instance field m_selectedCert
| Bug type SE_BAD_FIELD (click for details) In class gui.CertDetailsDialog$CertShortInfoPanel Field gui.CertDetailsDialog$CertShortInfoPanel.m_selectedCert In CertDetailsDialog.java
Se | Class gui.JAPAboutAutoScroller defines non-transient non-serializable instance field m_Thread
| Bug type SE_BAD_FIELD (click for details) In class gui.JAPAboutAutoScroller Field gui.JAPAboutAutoScroller.m_Thread In JAPAboutAutoScroller.java
Se | Class gui.JAPAboutAutoScroller defines non-transient non-serializable instance field m_imgBackground
| Bug type SE_BAD_FIELD (click for details) In class gui.JAPAboutAutoScroller Field gui.JAPAboutAutoScroller.m_imgBackground In JAPAboutAutoScroller.java
Se | Class gui.JAPAboutAutoScroller defines non-transient non-serializable instance field m_imgBackgroundPicture
| Bug type SE_BAD_FIELD (click for details) In class gui.JAPAboutAutoScroller Field gui.JAPAboutAutoScroller.m_imgBackgroundPicture In JAPAboutAutoScroller.java
Se | Class gui.JAPAboutAutoScroller defines non-transient non-serializable instance field m_imgDoubleBuffer
| Bug type SE_BAD_FIELD (click for details) In class gui.JAPAboutAutoScroller Field gui.JAPAboutAutoScroller.m_imgDoubleBuffer In JAPAboutAutoScroller.java
Se | Class gui.JAPAboutAutoScroller defines non-transient non-serializable instance field m_imgOffScreen
| Bug type SE_BAD_FIELD (click for details) In class gui.JAPAboutAutoScroller Field gui.JAPAboutAutoScroller.m_imgOffScreen In JAPAboutAutoScroller.java
Se | Class gui.JAPJIntField defines non-transient non-serializable instance field m_bounds
| Bug type SE_BAD_FIELD (click for details) In class gui.JAPJIntField Field gui.JAPJIntField.m_bounds In JAPJIntField.java
Se | Class gui.JAPProgressBar defines non-transient non-serializable instance field m_ui
| Bug type SE_BAD_FIELD (click for details) In class gui.JAPProgressBar Field gui.JAPProgressBar.m_ui In JAPProgressBar.java
Se | Class jap.forward.JAPRoutingEstablishForwardedConnectionDialog$9 defines non-transient non-serializable instance field val$a_captcha
| Bug type SE_BAD_FIELD (click for details) In class jap.forward.JAPRoutingEstablishForwardedConnectionDialog$9 Field jap.forward.JAPRoutingEstablishForwardedConnectionDialog$9.val$a_captcha In JAPRoutingEstablishForwardedConnectionDialog.java
Se | Class jap.JAPMixCascadeComboBox defines non-transient non-serializable instance field m_currentCascade
| Bug type SE_BAD_FIELD (click for details) In class jap.JAPMixCascadeComboBox Field jap.JAPMixCascadeComboBox.m_currentCascade In JAPMixCascadeComboBox.java
Se | Class jap.JAPNewView defines non-transient non-serializable instance field m_configMovedAdapter
| Bug type SE_BAD_FIELD (click for details) In class jap.JAPNewView Field jap.JAPNewView.m_configMovedAdapter In JAPNewView.java
Se | Class jap.JAPNewView defines non-transient non-serializable instance field m_dlgConfig
| Bug type SE_BAD_FIELD (click for details) In class jap.JAPNewView Field jap.JAPNewView.m_dlgConfig In JAPNewView.java
Se | Class jap.JAPNewView defines non-transient non-serializable instance field m_helpMovedAdapter
| Bug type SE_BAD_FIELD (click for details) In class jap.JAPNewView Field jap.JAPNewView.m_helpMovedAdapter In JAPNewView.java
Se | Class jap.JAPNewView defines non-transient non-serializable instance field m_mainMovedAdapter
| Bug type SE_BAD_FIELD (click for details) In class jap.JAPNewView Field jap.JAPNewView.m_mainMovedAdapter In JAPNewView.java
Se | Class jap.JAPNewView defines non-transient non-serializable instance field m_miniMovedAdapter
| Bug type SE_BAD_FIELD (click for details) In class jap.JAPNewView Field jap.JAPNewView.m_miniMovedAdapter In JAPNewView.java
Se | Class jap.JAPNewView defines non-transient non-serializable instance field m_transferedBytesJobs
| Bug type SE_BAD_FIELD (click for details) In class jap.JAPNewView Field jap.JAPNewView.m_transferedBytesJobs In JAPNewView.java
Se | jap.JAPNewView$6 stored into non-transient field JAPNewView.m_listenerEnableIS
| Bug type SE_BAD_FIELD_STORE (click for details) In class jap.JAPNewView Field jap.JAPNewView.m_listenerEnableIS Actual type jap.JAPNewView$6 At JAPNewView.java:[line 407]
Se | jap.JAPNewView$7 stored into non-transient field JAPNewView.m_listenerNewServices
| Bug type SE_BAD_FIELD_STORE (click for details) In class jap.JAPNewView Field jap.JAPNewView.m_listenerNewServices Actual type jap.JAPNewView$7 At JAPNewView.java:[line 440]
Se | jap.JAPNewView$5 stored into non-transient field JAPNewView.m_listenerUpdate
| Bug type SE_BAD_FIELD_STORE (click for details) In class jap.JAPNewView Field jap.JAPNewView.m_listenerUpdate Actual type jap.JAPNewView$5 At JAPNewView.java:[line 347]
Se | Class jap.JAPSplash defines non-transient non-serializable instance field m_imgBusy
| Bug type SE_BAD_FIELD (click for details) In class jap.JAPSplash Field jap.JAPSplash.m_imgBusy In JAPSplash.java
Se | Class jap.JAPSplash defines non-transient non-serializable instance field m_imgOffScreen
| Bug type SE_BAD_FIELD (click for details) In class jap.JAPSplash Field jap.JAPSplash.m_imgOffScreen In JAPSplash.java
Se | Class jap.JAPSplash defines non-transient non-serializable instance field m_imgSplash
| Bug type SE_BAD_FIELD (click for details) In class jap.JAPSplash Field jap.JAPSplash.m_imgSplash In JAPSplash.java
Se | Class jap.JAPViewIconified defines non-transient non-serializable instance field m_Controller
| Bug type SE_BAD_FIELD (click for details) In class jap.JAPViewIconified Field jap.JAPViewIconified.m_Controller In JAPViewIconified.java
Se | Class jap.JAPViewIconified defines non-transient non-serializable instance field m_docker
| Bug type SE_BAD_FIELD (click for details) In class jap.JAPViewIconified Field jap.JAPViewIconified.m_docker In JAPViewIconified.java
Se | jap.JAPViewIconified$1 stored into non-transient field JAPViewIconified.m_runnableValueUpdate
| Bug type SE_BAD_FIELD_STORE (click for details) In class jap.JAPViewIconified Field jap.JAPViewIconified.m_runnableValueUpdate Actual type jap.JAPViewIconified$1 At JAPViewIconified.java:[line 117]
Se | Class jap.pay.PaymentMainPanel defines non-transient non-serializable instance field m_MyPaymentListener
| Bug type SE_BAD_FIELD (click for details) In class jap.pay.PaymentMainPanel Field jap.pay.PaymentMainPanel.m_MyPaymentListener In PaymentMainPanel.java
Se | Class jap.StatusPanel defines non-transient non-serializable instance field m_Msgs
| Bug type SE_BAD_FIELD (click for details) In class jap.StatusPanel Field jap.StatusPanel.m_Msgs In StatusPanel.java
Se | Class jap.StatusPanel defines non-transient non-serializable instance field m_Thread
| Bug type SE_BAD_FIELD (click for details) In class jap.StatusPanel Field jap.StatusPanel.m_Thread In StatusPanel.java
Se | Class jap.StatusPanel defines non-transient non-serializable instance field m_imageError
| Bug type SE_BAD_FIELD (click for details) In class jap.StatusPanel Field jap.StatusPanel.m_imageError In StatusPanel.java
Se | Class jap.StatusPanel defines non-transient non-serializable instance field m_imageInformation
| Bug type SE_BAD_FIELD (click for details) In class jap.StatusPanel Field jap.StatusPanel.m_imageInformation In StatusPanel.java
Se | Class jap.StatusPanel defines non-transient non-serializable instance field m_imageWarning
| Bug type SE_BAD_FIELD (click for details) In class jap.StatusPanel Field jap.StatusPanel.m_imageWarning In StatusPanel.java
Se | Class jap.StatusPanel defines non-transient non-serializable instance field m_lastMsg
| Bug type SE_BAD_FIELD (click for details) In class jap.StatusPanel Field jap.StatusPanel.m_lastMsg In StatusPanel.java
Se | Class update.JAPWelcomeWizardPage defines non-transient non-serializable instance field jarFileFilter
| Bug type SE_BAD_FIELD (click for details) In class update.JAPWelcomeWizardPage Field update.JAPWelcomeWizardPage.jarFileFilter In JAPWelcomeWizardPage.java
SnVI | jap.JAPConfAnon$MyTableModel is Serializable; consider declaring a serialVersionUID
| Bug type SE_NO_SERIALVERSIONID (click for details) In class jap.JAPConfAnon$MyTableModel At JAPConfAnon.java:[lines 2618-2763]
SnVI | jap.pay.TransactionOverviewDialog$MyTableModel is Serializable; consider declaring a serialVersionUID
| Bug type SE_NO_SERIALVERSIONID (click for details) In class jap.pay.TransactionOverviewDialog$MyTableModel At TransactionOverviewDialog.java:[lines 352-444]
SQL | Method jpi.db.DataBase.addAccount(long, String, Timestamp, String) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.addAccount(long, String, Timestamp, String) At DataBase.java:[line 610]
SQL | Method jpi.db.DataBase.buyFlatrate(long) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.buyFlatrate(long) At DataBase.java:[line 2302]
SQL | Method jpi.db.DataBase.buyVolumePlan(long, XMLVolumePlan) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.buyVolumePlan(long, XMLVolumePlan) At DataBase.java:[line 2869]
SQL | Method jpi.db.DataBase.checkValidity(String) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.checkValidity(String) At DataBase.java:[line 2175]
SQL | Method jpi.db.DataBase.creditMixes(Hashtable, long) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.creditMixes(Hashtable, long) At DataBase.java:[line 950]
SQL | Method jpi.db.DataBase.deletePriceCert(XMLPriceCertificate) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.deletePriceCert(XMLPriceCertificate) At DataBase.java:[line 1737]
SQL | Method jpi.db.DataBase.getCC(long, String) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getCC(long, String) At DataBase.java:[line 1135]
SQL | Method jpi.db.DataBase.getIdForOperatorCert(String) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getIdForOperatorCert(String) At DataBase.java:[line 1960]
SQL | Method jpi.db.DataBase.getOperatorInfo(String) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getOperatorInfo(String) At DataBase.java:[line 1888]
SQL | Method jpi.db.DataBase.getOperatorOfMix(String) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getOperatorOfMix(String) At DataBase.java:[line 2121]
SQL | Method jpi.db.DataBase.getPriceCertForHash(String) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getPriceCertForHash(String) At DataBase.java:[line 2025]
SQL | Method jpi.db.DataBase.getPriceCertForHash(String) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getPriceCertForHash(String) At DataBase.java:[line 2039]
SQL | Method jpi.db.DataBase.getPriceCertsForMix(String) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getPriceCertsForMix(String) At DataBase.java:[line 2078]
SQL | Method jpi.db.DataBase.getVolumePlan(String) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getVolumePlan(String) At DataBase.java:[line 2761]
SQL | Method jpi.db.DataBase.handleTransferRequest(XMLTransferRequest) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.handleTransferRequest(XMLTransferRequest) At DataBase.java:[line 1775]
SQL | Method jpi.db.DataBase.insertCC(XMLEasyCC) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.insertCC(XMLEasyCC) At DataBase.java:[line 787]
SQL | Method jpi.db.DataBase.redeemCoupon(String, long) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.redeemCoupon(String, long) At DataBase.java:[line 2145]
SQL | Method jpi.db.DataBase.redeemCoupon(String, long) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.redeemCoupon(String, long) At DataBase.java:[line 2155]
SQL | Method jpi.db.DataBase.redeemCoupon(String, long) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.redeemCoupon(String, long) At DataBase.java:[line 2159]
SQL | Method jpi.db.DataBase.setPaymentOptions() passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.setPaymentOptions() At DataBase.java:[line 2499]
SQL | Method jpi.db.DataBase.setPaymentOptions() passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.setPaymentOptions() At DataBase.java:[line 2521]
SQL | Method jpi.db.DataBase.setPaymentOptions() passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.setPaymentOptions() At DataBase.java:[line 2540]
SQL | Method jpi.db.DataBase.setPaymentOptions() passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.setPaymentOptions() At DataBase.java:[line 2559]
SQL | Method jpi.db.DataBase.setPaymentSettings() passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.setPaymentSettings() At DataBase.java:[line 2434]
SQL | Method jpi.db.DataBase.setPaysafecardPaymentUsed(XMLPassivePayment) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.setPaysafecardPaymentUsed(XMLPassivePayment) At DataBase.java:[line 1568]
SQL | Method jpi.db.DataBase.setVolumePlans() passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.setVolumePlans() At DataBase.java:[line 2463]
SQL | Method jpi.db.DataBase.storeBankAccount(XMLBankAccount) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.storeBankAccount(XMLBankAccount) At DataBase.java:[line 2004]
SQL | Method jpi.db.DataBase.storePassivePayment(XMLPassivePayment) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.storePassivePayment(XMLPassivePayment) At DataBase.java:[line 1441]
SQL | Method jpi.db.DataBase.storePaysafecardPayment(XMLPassivePayment) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.storePaysafecardPayment(XMLPassivePayment) At DataBase.java:[line 1468]
SQL | Method jpi.db.DataBase.storePriceCert(XMLPriceCertificate) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.storePriceCert(XMLPriceCertificate) At DataBase.java:[line 1671]
SQL | Method jpi.db.DataBase.storePriceCert(XMLPriceCertificate) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.storePriceCert(XMLPriceCertificate) At DataBase.java:[line 1696]
SQL | Method jpi.db.DataBase.updateCC(XMLEasyCC) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.updateCC(XMLEasyCC) At DataBase.java:[line 818]
SQL | Method jpi.db.DataBase.writeJapTraffic(long, String, long) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.writeJapTraffic(long, String, long) At DataBase.java:[line 1094]
SQL | Method jpi.db.DataBase.writeJapTraffic(long, String, long) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.writeJapTraffic(long, String, long) At DataBase.java:[line 1111]
SQL | Method jpi.db.DataBase.getBalance(long) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getBalance(long) At DataBase.java:[line 437]
SQL | Method jpi.db.DataBase.purgePaysafecardPayments() passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.purgePaysafecardPayments() At DataBase.java:[line 1497]
SQL | Method jpi.db.DataBase.purgePaysafecardPayments() passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.purgePaysafecardPayments() At DataBase.java:[line 1508]
SQL | Method jpi.db.DataBase.storeTransferNumber(long, long, long, Timestamp) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.storeTransferNumber(long, long, long, Timestamp) At DataBase.java:[line 711]
SQL | Method jpi.db.DataBase.writeMixStats(Enumeration, long) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.writeMixStats(Enumeration, long) At DataBase.java:[line 1008]
SQL | Method jpi.db.DataBase.writeMixTraffic(Enumeration, long) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.writeMixTraffic(Enumeration, long) At DataBase.java:[line 1038]
SQL | Method jpi.db.DataBase.writeMixTraffic(Enumeration, long) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.writeMixTraffic(Enumeration, long) At DataBase.java:[line 1050]
SQL | Method jpi.db.DataBase.writeMixTraffic(Enumeration, long) passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.writeMixTraffic(Enumeration, long) At DataBase.java:[line 1066]
SQL | Method jpi.db.DataBase$CleanupThread.run() passes a nonconstant String to an execute method on an SQL statement
| Bug type SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE (click for details) In class jpi.db.DataBase$CleanupThread In method jpi.db.DataBase$CleanupThread.run() At DataBase.java:[line 553]

## Correctness Warnings

Code&nbsp; | Warning
--- | ---
BIT | Bitwise OR of signed byte value computed in anon.crypto.tinytls.TinyTLSServerSocket$TLSInputStream.readClientHello()
| Bug type BIT_IOR_OF_SIGNED_BYTE (click for details) In class anon.crypto.tinytls.TinyTLSServerSocket$TLSInputStream In method anon.crypto.tinytls.TinyTLSServerSocket$TLSInputStream.readClientHello() At TinyTLSServerSocket.java:[line 353]
BIT | Bitwise OR of signed byte value computed in anon.crypto.tinytls.TinyTLSServerSocket$TLSInputStream.readClientKeyExchange()
| Bug type BIT_IOR_OF_SIGNED_BYTE (click for details) In class anon.crypto.tinytls.TinyTLSServerSocket$TLSInputStream In method anon.crypto.tinytls.TinyTLSServerSocket$TLSInputStream.readClientKeyExchange() At TinyTLSServerSocket.java:[line 455]
EC | Call to equals() comparing different types in gui.JAPMessages.init(Locale, String)
| Bug type EC_UNRELATED_TYPES (click for details) In class gui.JAPMessages In method gui.JAPMessages.init(Locale, String) Actual type java.util.Locale Expected java.lang.String At JAPMessages.java:[line 122]
INT | Bad comparison of signed byte with 128 in anon.crypto.JAPCertificate.toASN1Sequence(byte[], String)
| Bug type INT_BAD_COMPARISON_WITH_SIGNED_BYTE (click for details) In class anon.crypto.JAPCertificate In method anon.crypto.JAPCertificate.toASN1Sequence(byte[], String) Value 128 At JAPCertificate.java:[line 1018]
NP | Null pointer dereference of a_values in anon.crypto.AbstractX509AlternativeName.createValue(Vector, Vector)
| Bug type NP_ALWAYS_NULL (click for details) In class anon.crypto.AbstractX509AlternativeName In method anon.crypto.AbstractX509AlternativeName.createValue(Vector, Vector) Local variable named a_values Dereferenced at AbstractX509AlternativeName.java:[line 261]
NP | Non-virtual method call in anon.infoservice.MixInfo.MixInfo(String, CertPath) passes null for unconditionally dereferenced parameter of ServiceLocation.ServiceLocation(Node, JAPCertificate)
| Bug type NP_NULL_PARAM_DEREF_NONVIRTUAL (click for details) In class anon.infoservice.MixInfo In method anon.infoservice.MixInfo.MixInfo(String, CertPath) Called method anon.infoservice.ServiceLocation.ServiceLocation(Node, JAPCertificate) At MixInfo.java:[line 190] Argument 1 is definitely null but must not be null
NP | Non-virtual method call in anon.infoservice.MixInfo.MixInfo(String, CertPath, XMLPriceCertificate, long) passes null for unconditionally dereferenced parameter of ServiceLocation.ServiceLocation(Node, JAPCertificate)
| Bug type NP_NULL_PARAM_DEREF_NONVIRTUAL (click for details) In class anon.infoservice.MixInfo In method anon.infoservice.MixInfo.MixInfo(String, CertPath, XMLPriceCertificate, long) Called method anon.infoservice.ServiceLocation.ServiceLocation(Node, JAPCertificate) At MixInfo.java:[line 207] Argument 1 is definitely null but must not be null
NP | Possible null pointer dereference of DummyXMLEncodable.m_id in anon.util.test.DummyXMLEncodable.equals(DummyXMLEncodable)
| Bug type NP_NULL_ON_SOME_PATH (click for details) In class anon.util.test.DummyXMLEncodable In method anon.util.test.DummyXMLEncodable.equals(DummyXMLEncodable) Value contained in anon.util.test.DummyXMLEncodable.m_id Dereferenced at DummyXMLEncodable.java:[line 216] Known null at DummyXMLEncodable.java:[line 211] Known null at DummyXMLEncodable.java:[line 212]
NP | Non-virtual method call in anon.util.XMLUtil.toXMLDocument(String) passes null for unconditionally dereferenced parameter of toXMLDocument(byte[])
| Bug type NP_NULL_PARAM_DEREF_NONVIRTUAL (click for details) In class anon.util.XMLUtil In method anon.util.XMLUtil.toXMLDocument(String) Called method anon.util.XMLUtil.toXMLDocument(byte[]) At XMLUtil.java:[line 1170] Argument 1 is definitely null but must not be null
NP | Non-virtual method call in jap.JAPConfAnon$InfoServiceTempLayer.getServiceLocation(MixCascade, String) passes null for unconditionally dereferenced parameter of anon.infoservice.ServiceLocation.ServiceLocation(Node, JAPCertificate)
| Bug type NP_NULL_PARAM_DEREF_NONVIRTUAL (click for details) In class jap.JAPConfAnon$InfoServiceTempLayer In method jap.JAPConfAnon$InfoServiceTempLayer.getServiceLocation(MixCascade, String) Called method anon.infoservice.ServiceLocation.ServiceLocation(Node, JAPCertificate) At JAPConfAnon.java:[line 2084] Argument 1 is definitely null but must not be null
NP | Possible null pointer dereference of currentMixCascade in jap.JAPNewView.onUpdateValues()
| Bug type NP_NULL_ON_SOME_PATH (click for details) In class jap.JAPNewView In method jap.JAPNewView.onUpdateValues() Local variable named currentMixCascade Dereferenced at JAPNewView.java:[line 2377] Known null at JAPNewView.java:[line 2346]
NP | Non-virtual method call in jap.JAPUtil.formatTimestamp(Timestamp, boolean) passes null for unconditionally dereferenced parameter of formatTimestamp(Timestamp, boolean, String)
| Bug type NP_NULL_PARAM_DEREF_NONVIRTUAL (click for details) In class jap.JAPUtil In method jap.JAPUtil.formatTimestamp(Timestamp, boolean) Called method jap.JAPUtil.formatTimestamp(Timestamp, boolean, String) At JAPUtil.java:[line 462] Argument 3 is definitely null but must not be null
NP | Possible null pointer dereference of reply in jap.pay.FlatrateDialog.buyFlatrate()
| Bug type NP_NULL_ON_SOME_PATH (click for details) In class jap.pay.FlatrateDialog In method jap.pay.FlatrateDialog.buyFlatrate() Local variable named reply Dereferenced at FlatrateDialog.java:[line 335] Known null at FlatrateDialog.java:[line 332]
NP | Possible null pointer dereference of pp in jpi.PICommandUser.storePassivePayment(byte[]) on exception path
| Bug type NP_NULL_ON_SOME_PATH_EXCEPTION (click for details) In class jpi.PICommandUser In method jpi.PICommandUser.storePassivePayment(byte[]) Local variable named pp Dereferenced at PICommandUser.java:[line 489] Known null at PICommandUser.java:[line 486]
QBA | Method jap.forward.JAPRoutingConnectionClass.loadSettingsFromXml(Element) assigns boolean literal in boolean expression
| Bug type QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT (click for details) In class jap.forward.JAPRoutingConnectionClass In method jap.forward.JAPRoutingConnectionClass.loadSettingsFromXml(Element) At JAPRoutingConnectionClass.java:[line 320]
RCN | Nullcheck of a_Database at line 108 of value previously dereferenced in anon.infoservice.Database.registerInstance(Database)
| Bug type RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) In class anon.infoservice.Database In method anon.infoservice.Database.registerInstance(Database) Local variable named a_Database At Database.java:[line 106] Redundant null check at Database.java:[line 108]
RCN | Nullcheck of a_vector at line 523 of value previously dereferenced in gui.CertDetailsDialog.idsToNames(Vector)
| Bug type RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) In class gui.CertDetailsDialog In method gui.CertDetailsDialog.idsToNames(Vector) Local variable named a_vector At CertDetailsDialog.java:[line 520] Redundant null check at CertDetailsDialog.java:[line 523]
RCN | Nullcheck of a_trustModel at line 320 of value previously dereferenced in jap.TrustModel.removeTrustModel(TrustModel)
| Bug type RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details) In class jap.TrustModel In method jap.TrustModel.removeTrustModel(TrustModel) Local variable named a_trustModel At TrustModel.java:[line 313] Redundant null check at TrustModel.java:[line 320]
RV | Bad attempt to compute absolute value of signed 32-bit random integer in anon.crypto.DESCrypt.crypt(String)
| Bug type RV_ABSOLUTE_VALUE_OF_RANDOM_INT (click for details) In class anon.crypto.DESCrypt In method anon.crypto.DESCrypt.crypt(String) At DESCrypt.java:[line 581]
RV | Bad attempt to compute absolute value of signed 32-bit random integer in anon.crypto.DESCrypt.crypt(String)
| Bug type RV_ABSOLUTE_VALUE_OF_RANDOM_INT (click for details) In class anon.crypto.DESCrypt In method anon.crypto.DESCrypt.crypt(String) At DESCrypt.java:[line 582]
RV | Bad attempt to compute absolute value of signed 32-bit random integer in anon.infoservice.InfoServiceHolder.fetchInformation(int, Vector)
| Bug type RV_ABSOLUTE_VALUE_OF_RANDOM_INT (click for details) In class anon.infoservice.InfoServiceHolder In method anon.infoservice.InfoServiceHolder.fetchInformation(int, Vector) At InfoServiceHolder.java:[line 403]
RV | infoservice.Configuration.Configuration(Properties) ignores return value of java.lang.String.trim()
| Bug type RV_RETURN_VALUE_IGNORED (click for details) In class infoservice.Configuration In method infoservice.Configuration.Configuration(Properties) Called method java.lang.String.trim() At Configuration.java:[line 518]
RV | infoservice.Configuration.Configuration(Properties) ignores return value of java.lang.String.trim()
| Bug type RV_RETURN_VALUE_IGNORED (click for details) In class infoservice.Configuration In method infoservice.Configuration.Configuration(Properties) Called method java.lang.String.trim() At Configuration.java:[line 523]
RV | infoservice.Configuration.Configuration(Properties) ignores return value of java.lang.String.trim()
| Bug type RV_RETURN_VALUE_IGNORED (click for details) In class infoservice.Configuration In method infoservice.Configuration.Configuration(Properties) Called method java.lang.String.trim() At Configuration.java:[line 528]
RV | Bad attempt to compute absolute value of signed 32-bit random integer in infoservice.dynamic.ComleteRandomStrategy.randomizeVector(Vector, Random)
| Bug type RV_ABSOLUTE_VALUE_OF_RANDOM_INT (click for details) In class infoservice.dynamic.ComleteRandomStrategy In method infoservice.dynamic.ComleteRandomStrategy.randomizeVector(Vector, Random) At ComleteRandomStrategy.java:[line 336]
RV | jap.JAPController.loadConfigFile(String, boolean, ISplashResponse) ignores return value of java.lang.String.trim()
| Bug type RV_RETURN_VALUE_IGNORED (click for details) In class jap.JAPController In method jap.JAPController.loadConfigFile(String, boolean, ISplashResponse) Called method java.lang.String.trim() At JAPController.java:[line 901]
RV | Bad attempt to compute absolute value of signed 32-bit random integer in jap.StatusPanel.addStatusMsg(String, int, boolean, ActionListener)
| Bug type RV_ABSOLUTE_VALUE_OF_RANDOM_INT (click for details) In class jap.StatusPanel In method jap.StatusPanel.addStatusMsg(String, int, boolean, ActionListener) At StatusPanel.java:[line 175]
RV | jpi.db.DataBase.debitAccount(long, Hashtable, long) ignores return value of java.math.BigDecimal.setScale(int, int)
| Bug type RV_RETURN_VALUE_IGNORED (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.debitAccount(long, Hashtable, long) Called method java.math.BigDecimal.setScale(int, int) At DataBase.java:[line 884]
RV | jpi.db.DataBase.debitAccount(long, Hashtable, long) ignores return value of java.math.BigDecimal.setScale(int, int)
| Bug type RV_RETURN_VALUE_IGNORED (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.debitAccount(long, Hashtable, long) Called method java.math.BigDecimal.setScale(int, int) At DataBase.java:[line 886]
SA | Double assignment of currentEntry in anon.client.AbstractDataChain$DataChainInputStreamImplementation.read(byte[], int, int)
| Bug type SA_LOCAL_DOUBLE_ASSIGNMENT (click for details) In class anon.client.AbstractDataChain$DataChainInputStreamImplementation In method anon.client.AbstractDataChain$DataChainInputStreamImplementation.read(byte[], int, int) Local variable named currentEntry At AbstractDataChain.java:[line 212]
UR | Uninitialized read of m_lastUpdate in anon.infoservice.JavaVersionDBEntry.JavaVersionDBEntry(String, String, URL, String)
| Bug type UR_UNINIT_READ (click for details) In class anon.infoservice.JavaVersionDBEntry In method anon.infoservice.JavaVersionDBEntry.JavaVersionDBEntry(String, String, URL, String) Field anon.infoservice.JavaVersionDBEntry.m_lastUpdate At JavaVersionDBEntry.java:[line 137]
UR | Uninitialized read of m_strPackage in anon.util.ClassUtil$Package.Package(String)
| Bug type UR_UNINIT_READ (click for details) In class anon.util.ClassUtil$Package In method anon.util.ClassUtil$Package.Package(String) Field anon.util.ClassUtil$Package.m_strPackage At ClassUtil.java:[line 94]
UR | Uninitialized read of m_infoService in jap.JAPConfAnon.JAPConfAnon(IJAPConfSavePoint)
| Bug type UR_UNINIT_READ (click for details) In class jap.JAPConfAnon In method jap.JAPConfAnon.JAPConfAnon(IJAPConfSavePoint) Field jap.JAPConfAnon.m_infoService At JAPConfAnon.java:[line 214]
UR | Uninitialized read of m_allowedTrustSettings in jap.TrustModel$AbstractTrustFilter.AbstractTrustFilter(String, Hashtable)
| Bug type UR_UNINIT_READ (click for details) In class jap.TrustModel$AbstractTrustFilter In method jap.TrustModel$AbstractTrustFilter.AbstractTrustFilter(String, Hashtable) Field jap.TrustModel$AbstractTrustFilter.m_allowedTrustSettings At TrustModel.java:[line 252]
UwF | Unwritten field: jap.forward.JAPRoutingEstablishForwardedConnectionDialog.m_fontSetting
| Bug type UWF_UNWRITTEN_FIELD (click for details) In class jap.forward.JAPRoutingEstablishForwardedConnectionDialog Field jap.forward.JAPRoutingEstablishForwardedConnectionDialog.m_fontSetting At JAPRoutingEstablishForwardedConnectionDialog.java:[line 201]
UwF | Unwritten field: update.JAPUpdateWizard.updJapJar
| Bug type UWF_UNWRITTEN_FIELD (click for details) In class update.JAPUpdateWizard Field update.JAPUpdateWizard.updJapJar At JAPUpdateWizard.java:[line 782]

## Malicious code vulnerability Warnings

Code&nbsp; | Warning
--- | ---
EI | anon.client.crypto.SymCipher.getKey() may expose internal representation by returning SymCipher.m_aesKey
| Bug type EI_EXPOSE_REP (click for details) In class anon.client.crypto.SymCipher In method anon.client.crypto.SymCipher.getKey() Field anon.client.crypto.SymCipher.m_aesKey At SymCipher.java:[line 101]
EI | anon.client.DataChainInputStreamQueueEntry.getData() may expose internal representation by returning DataChainInputStreamQueueEntry.m_data
| Bug type EI_EXPOSE_REP (click for details) In class anon.client.DataChainInputStreamQueueEntry In method anon.client.DataChainInputStreamQueueEntry.getData() Field anon.client.DataChainInputStreamQueueEntry.m_data At DataChainInputStreamQueueEntry.java:[line 78]
EI | anon.client.DataChainSendOrderStructure.getChannelCell() may expose internal representation by returning DataChainSendOrderStructure.m_channelCell
| Bug type EI_EXPOSE_REP (click for details) In class anon.client.DataChainSendOrderStructure In method anon.client.DataChainSendOrderStructure.getChannelCell() Field anon.client.DataChainSendOrderStructure.m_channelCell At DataChainSendOrderStructure.java:[line 117]
EI | anon.client.DataChainSendOrderStructure.getOrderData() may expose internal representation by returning DataChainSendOrderStructure.m_orderData
| Bug type EI_EXPOSE_REP (click for details) In class anon.client.DataChainSendOrderStructure In method anon.client.DataChainSendOrderStructure.getOrderData() Field anon.client.DataChainSendOrderStructure.m_orderData At DataChainSendOrderStructure.java:[line 69]
EI | anon.client.InternalChannelMessage.getMessageData() may expose internal representation by returning InternalChannelMessage.m_messageData
| Bug type EI_EXPOSE_REP (click for details) In class anon.client.InternalChannelMessage In method anon.client.InternalChannelMessage.getMessageData() Field anon.client.InternalChannelMessage.m_messageData At InternalChannelMessage.java:[line 63]
EI | anon.client.KeyExchangeManager.getMixParameters() may expose internal representation by returning KeyExchangeManager.m_mixParameters
| Bug type EI_EXPOSE_REP (click for details) In class anon.client.KeyExchangeManager In method anon.client.KeyExchangeManager.getMixParameters() Field anon.client.KeyExchangeManager.m_mixParameters At KeyExchangeManager.java:[line 561]
EI | anon.client.MixPacket.getPayloadData() may expose internal representation by returning MixPacket.m_payloadData
| Bug type EI_EXPOSE_REP (click for details) In class anon.client.MixPacket In method anon.client.MixPacket.getPayloadData() Field anon.client.MixPacket.m_payloadData At MixPacket.java:[line 122]
EI | anon.crypto.AbstractX509Extension.getDEROctets() may expose internal representation by returning AbstractX509Extension.m_value
| Bug type EI_EXPOSE_REP (click for details) In class anon.crypto.AbstractX509Extension In method anon.crypto.AbstractX509Extension.getDEROctets() Field anon.crypto.AbstractX509Extension.m_value At AbstractX509Extension.java:[line 216]
EI | anon.crypto.tinytls.AbstractTLSRecord.getData() may expose internal representation by returning AbstractTLSRecord.m_Data
| Bug type EI_EXPOSE_REP (click for details) In class anon.crypto.tinytls.AbstractTLSRecord In method anon.crypto.tinytls.AbstractTLSRecord.getData() Field anon.crypto.tinytls.AbstractTLSRecord.m_Data At AbstractTLSRecord.java:[line 52]
EI | anon.crypto.tinytls.AbstractTLSRecord.getHeader() may expose internal representation by returning AbstractTLSRecord.m_Header
| Bug type EI_EXPOSE_REP (click for details) In class anon.crypto.tinytls.AbstractTLSRecord In method anon.crypto.tinytls.AbstractTLSRecord.getHeader() Field anon.crypto.tinytls.AbstractTLSRecord.m_Header At AbstractTLSRecord.java:[line 46]
EI | anon.crypto.tinytls.ciphersuites.CipherSuite.getCipherSuiteCode() may expose internal representation by returning CipherSuite.m_ciphersuitecode
| Bug type EI_EXPOSE_REP (click for details) In class anon.crypto.tinytls.ciphersuites.CipherSuite In method anon.crypto.tinytls.ciphersuites.CipherSuite.getCipherSuiteCode() Field anon.crypto.tinytls.ciphersuites.CipherSuite.m_ciphersuitecode At CipherSuite.java:[line 149]
EI | anon.infoservice.JAPMinVersion.getPostData() may expose internal representation by returning JAPMinVersion.m_bytesPostData
| Bug type EI_EXPOSE_REP (click for details) In class anon.infoservice.JAPMinVersion In method anon.infoservice.JAPMinVersion.getPostData() Field anon.infoservice.JAPMinVersion.m_bytesPostData At JAPMinVersion.java:[line 179]
EI | anon.infoservice.JAPVersionInfo.getDate() may expose internal representation by returning JAPVersionInfo.m_releaseDate
| Bug type EI_EXPOSE_REP (click for details) In class anon.infoservice.JAPVersionInfo In method anon.infoservice.JAPVersionInfo.getDate() Field anon.infoservice.JAPVersionInfo.m_releaseDate At JAPVersionInfo.java:[line 225]
EI | anon.infoservice.MixCascade.getCompressedData() may expose internal representation by returning MixCascade.m_compressedXmlStructure
| Bug type EI_EXPOSE_REP (click for details) In class anon.infoservice.MixCascade In method anon.infoservice.MixCascade.getCompressedData() Field anon.infoservice.MixCascade.m_compressedXmlStructure At MixCascade.java:[line 875]
EI | anon.infoservice.MixCascade.getPostData() may expose internal representation by returning MixCascade.m_compressedXmlStructure
| Bug type EI_EXPOSE_REP (click for details) In class anon.infoservice.MixCascade In method anon.infoservice.MixCascade.getPostData() Field anon.infoservice.MixCascade.m_compressedXmlStructure At MixCascade.java:[line 870]
EI | anon.infoservice.StatusInfo.getPostData() may expose internal representation by returning StatusInfo.m_statusXmlDataBytes
| Bug type EI_EXPOSE_REP (click for details) In class anon.infoservice.StatusInfo In method anon.infoservice.StatusInfo.getPostData() Field anon.infoservice.StatusInfo.m_statusXmlDataBytes At StatusInfo.java:[line 407]
EI | anon.infoservice.test.DummyHTTPConnection.getDefaultHeaders() may expose internal representation by returning DummyHTTPConnection.m_actualDefaultHeaders
| Bug type EI_EXPOSE_REP (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.getDefaultHeaders() Field anon.infoservice.test.DummyHTTPConnection.m_actualDefaultHeaders At DummyHTTPConnection.java:[line 318]
EI | anon.mixminion.EMail.getReceiver() may expose internal representation by returning EMail.m_receiver
| Bug type EI_EXPOSE_REP (click for details) In class anon.mixminion.EMail In method anon.mixminion.EMail.getReceiver() Field anon.mixminion.EMail.m_receiver At EMail.java:[line 144]
EI | anon.mixminion.message.FragmentContainer.getID() may expose internal representation by returning FragmentContainer.m_id
| Bug type EI_EXPOSE_REP (click for details) In class anon.mixminion.message.FragmentContainer In method anon.mixminion.message.FragmentContainer.getID() Field anon.mixminion.message.FragmentContainer.m_id At FragmentContainer.java:[line 113]
EI | anon.mixminion.message.Header.getAsByteArray() may expose internal representation by returning Header.m_header
| Bug type EI_EXPOSE_REP (click for details) In class anon.mixminion.message.Header In method anon.mixminion.message.Header.getAsByteArray() Field anon.mixminion.message.Header.m_header At Header.java:[line 270]
EI | anon.mixminion.message.ReplyBlock.getHeaderBytes() may expose internal representation by returning ReplyBlock.m_headerbytes
| Bug type EI_EXPOSE_REP (click for details) In class anon.mixminion.message.ReplyBlock In method anon.mixminion.message.ReplyBlock.getHeaderBytes() Field anon.mixminion.message.ReplyBlock.m_headerbytes At ReplyBlock.java:[line 176]
EI | anon.mixminion.message.ReplyBlock.getSharedSecret() may expose internal representation by returning ReplyBlock.m_sharedSecret
| Bug type EI_EXPOSE_REP (click for details) In class anon.mixminion.message.ReplyBlock In method anon.mixminion.message.ReplyBlock.getSharedSecret() Field anon.mixminion.message.ReplyBlock.m_sharedSecret At ReplyBlock.java:[line 184]
EI | anon.mixminion.mmrdescription.MMRDescription.getDigest() may expose internal representation by returning MMRDescription.m_digest
| Bug type EI_EXPOSE_REP (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.getDigest() Field anon.mixminion.mmrdescription.MMRDescription.m_digest At MMRDescription.java:[line 141]
EI | anon.mixminion.mmrdescription.MMRDescription.getKeyDigest() may expose internal representation by returning MMRDescription.m_keydigest
| Bug type EI_EXPOSE_REP (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.getKeyDigest() Field anon.mixminion.mmrdescription.MMRDescription.m_keydigest At MMRDescription.java:[line 151]
EI | anon.pay.xml.XMLResponse.getResponse() may expose internal representation by returning XMLResponse.m_arbResponse
| Bug type EI_EXPOSE_REP (click for details) In class anon.pay.xml.XMLResponse In method anon.pay.xml.XMLResponse.getResponse() Field anon.pay.xml.XMLResponse.m_arbResponse At XMLResponse.java:[line 71]
EI | anon.pay.xml.XMLTransCert.getReceivedDate() may expose internal representation by returning XMLTransCert.m_receivedDate
| Bug type EI_EXPOSE_REP (click for details) In class anon.pay.xml.XMLTransCert In method anon.pay.xml.XMLTransCert.getReceivedDate() Field anon.pay.xml.XMLTransCert.m_receivedDate At XMLTransCert.java:[line 112]
EI | anon.pay.xml.XMLTransCert.getUsedDate() may expose internal representation by returning XMLTransCert.m_usedDate
| Bug type EI_EXPOSE_REP (click for details) In class anon.pay.xml.XMLTransCert In method anon.pay.xml.XMLTransCert.getUsedDate() Field anon.pay.xml.XMLTransCert.m_usedDate At XMLTransCert.java:[line 117]
EI | anon.tor.cells.Cell.getPayload() may expose internal representation by returning Cell.m_payload
| Bug type EI_EXPOSE_REP (click for details) In class anon.tor.cells.Cell In method anon.tor.cells.Cell.getPayload() Field anon.tor.cells.Cell.m_payload At Cell.java:[line 115]
EI | anon.tor.ordescription.ORList.getPublished() may expose internal representation by returning ORList.m_datePublished
| Bug type EI_EXPOSE_REP (click for details) In class anon.tor.ordescription.ORList In method anon.tor.ordescription.ORList.getPublished() Field anon.tor.ordescription.ORList.m_datePublished At ORList.java:[line 140]
EI | gui.CaptchaDialog.getSolution() may expose internal representation by returning CaptchaDialog.m_solution
| Bug type EI_EXPOSE_REP (click for details) In class gui.CaptchaDialog In method gui.CaptchaDialog.getSolution() Field gui.CaptchaDialog.m_solution At CaptchaDialog.java:[line 194]
EI | gui.dialog.CaptchaContentPane.getSolution() may expose internal representation by returning CaptchaContentPane.m_solution
| Bug type EI_EXPOSE_REP (click for details) In class gui.dialog.CaptchaContentPane In method gui.dialog.CaptchaContentPane.getSolution() Field gui.dialog.CaptchaContentPane.m_solution At CaptchaContentPane.java:[line 183]
EI | gui.dialog.PasswordContentPane.getOldPassword() may expose internal representation by returning PasswordContentPane.m_oldPasswd
| Bug type EI_EXPOSE_REP (click for details) In class gui.dialog.PasswordContentPane In method gui.dialog.PasswordContentPane.getOldPassword() Field gui.dialog.PasswordContentPane.m_oldPasswd At PasswordContentPane.java:[line 330]
EI | gui.dialog.PasswordContentPane.getPassword() may expose internal representation by returning PasswordContentPane.m_passwd
| Bug type EI_EXPOSE_REP (click for details) In class gui.dialog.PasswordContentPane In method gui.dialog.PasswordContentPane.getPassword() Field gui.dialog.PasswordContentPane.m_passwd At PasswordContentPane.java:[line 293]
EI | infoservice.agreement.multicast.messages.AMessage.getPostData() may expose internal representation by returning AMessage.m_compressedData
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.agreement.multicast.messages.AMessage In method infoservice.agreement.multicast.messages.AMessage.getPostData() Field infoservice.agreement.multicast.messages.AMessage.m_compressedData At AMessage.java:[line 200]
EI | infoservice.agreement.multicast.messages.CommitMessage.getEchoMessages() may expose internal representation by returning CommitMessage.m_EchoMessages
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.agreement.multicast.messages.CommitMessage In method infoservice.agreement.multicast.messages.CommitMessage.getEchoMessages() Field infoservice.agreement.multicast.messages.CommitMessage.m_EchoMessages At CommitMessage.java:[line 83]
EI | infoservice.agreement.paxos.integration.InfoServiceCollectMessage.getPostData() may expose internal representation by returning InfoServiceCollectMessage.m_compressedData
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.agreement.paxos.integration.InfoServiceCollectMessage In method infoservice.agreement.paxos.integration.InfoServiceCollectMessage.getPostData() Field infoservice.agreement.paxos.integration.InfoServiceCollectMessage.m_compressedData At InfoServiceCollectMessage.java:[line 144]
EI | infoservice.agreement.paxos.integration.InfoServiceFreezeProofMessage.getPostData() may expose internal representation by returning InfoServiceFreezeProofMessage.m_compressedData
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.agreement.paxos.integration.InfoServiceFreezeProofMessage In method infoservice.agreement.paxos.integration.InfoServiceFreezeProofMessage.getPostData() Field infoservice.agreement.paxos.integration.InfoServiceFreezeProofMessage.m_compressedData At InfoServiceFreezeProofMessage.java:[line 133]
EI | infoservice.agreement.paxos.integration.InfoServicePaxosMessage.getPostData() may expose internal representation by returning InfoServicePaxosMessage.m_compressedData
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.agreement.paxos.integration.InfoServicePaxosMessage In method infoservice.agreement.paxos.integration.InfoServicePaxosMessage.getPostData() Field infoservice.agreement.paxos.integration.InfoServicePaxosMessage.m_compressedData At InfoServicePaxosMessage.java:[line 130]
EI | infoservice.agreement.paxos.PaxosCommunicator.getTargets() may expose internal representation by returning PaxosCommunicator.m_targets
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.agreement.paxos.PaxosCommunicator In method infoservice.agreement.paxos.PaxosCommunicator.getTargets() Field infoservice.agreement.paxos.PaxosCommunicator.m_targets At PaxosCommunicator.java:[line 77]
EI | infoservice.agreement.paxos.PaxosInstance.getDecissions() may expose internal representation by returning PaxosInstance.m_decissions
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.agreement.paxos.PaxosInstance In method infoservice.agreement.paxos.PaxosInstance.getDecissions() Field infoservice.agreement.paxos.PaxosInstance.m_decissions At PaxosInstance.java:[line 104]
EI | infoservice.agreement.paxos.PaxosInstance.getExecutions() may expose internal representation by returning PaxosInstance.m_executions
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.agreement.paxos.PaxosInstance In method infoservice.agreement.paxos.PaxosInstance.getExecutions() Field infoservice.agreement.paxos.PaxosInstance.m_executions At PaxosInstance.java:[line 114]
EI | infoservice.Configuration.getStartupTime() may expose internal representation by returning Configuration.m_startupTime
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.Configuration In method infoservice.Configuration.getStartupTime() Field infoservice.Configuration.m_startupTime At Configuration.java:[line 987]
EI | infoservice.dynamic.VirtualCascade.getEstablishedDate() may expose internal representation by returning VirtualCascade.m_established
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.dynamic.VirtualCascade In method infoservice.dynamic.VirtualCascade.getEstablishedDate() Field infoservice.dynamic.VirtualCascade.m_established At VirtualCascade.java:[line 111]
EI | infoservice.HttpResponseStructure.getResponseData() may expose internal representation by returning HttpResponseStructure.m_httpReturnData
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.HttpResponseStructure In method infoservice.HttpResponseStructure.getResponseData() Field infoservice.HttpResponseStructure.m_httpReturnData At HttpResponseStructure.java:[line 252]
EI | infoservice.tor.DummyORListFetcher.getORList() may expose internal representation by returning DummyORListFetcher.m_torNodesListStructure
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.tor.DummyORListFetcher In method infoservice.tor.DummyORListFetcher.getORList() Field infoservice.tor.DummyORListFetcher.m_torNodesListStructure At DummyORListFetcher.java:[line 62]
EI | infoservice.tor.MixminionDirectoryAgent.getMixminionNodesList() may expose internal representation by returning MixminionDirectoryAgent.m_currentMixminionNodesList
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.tor.MixminionDirectoryAgent In method infoservice.tor.MixminionDirectoryAgent.getMixminionNodesList() Field infoservice.tor.MixminionDirectoryAgent.m_currentMixminionNodesList At MixminionDirectoryAgent.java:[line 162]
EI | infoservice.tor.TorDirectoryAgent.getCompressedTorNodesList() may expose internal representation by returning TorDirectoryAgent.m_currentCompressedTorNodesList
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.tor.TorDirectoryAgent In method infoservice.tor.TorDirectoryAgent.getCompressedTorNodesList() Field infoservice.tor.TorDirectoryAgent.m_currentCompressedTorNodesList At TorDirectoryAgent.java:[line 162]
EI | infoservice.tor.TorDirectoryAgent.getTorNodesList() may expose internal representation by returning TorDirectoryAgent.m_currentTorNodesList
| Bug type EI_EXPOSE_REP (click for details) In class infoservice.tor.TorDirectoryAgent In method infoservice.tor.TorDirectoryAgent.getTorNodesList() Field infoservice.tor.TorDirectoryAgent.m_currentTorNodesList At TorDirectoryAgent.java:[line 149]
EI2 | anon.client.crypto.MixCipherChain.MixCipherChain(IMixCipher[]) may expose internal representation by storing an externally mutable object into MixCipherChain.m_cipherChain
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.client.crypto.MixCipherChain In method anon.client.crypto.MixCipherChain.MixCipherChain(IMixCipher[]) Field anon.client.crypto.MixCipherChain.m_cipherChain At MixCipherChain.java:[line 46]
EI2 | anon.client.DataChainInputStreamQueueEntry.DataChainInputStreamQueueEntry(int, byte[]) may expose internal representation by storing an externally mutable object into DataChainInputStreamQueueEntry.m_data
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.client.DataChainInputStreamQueueEntry In method anon.client.DataChainInputStreamQueueEntry.DataChainInputStreamQueueEntry(int, byte[]) Field anon.client.DataChainInputStreamQueueEntry.m_data At DataChainInputStreamQueueEntry.java:[line 60]
EI2 | anon.client.DataChainSendOrderStructure.DataChainSendOrderStructure(byte[]) may expose internal representation by storing an externally mutable object into DataChainSendOrderStructure.m_orderData
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.client.DataChainSendOrderStructure In method anon.client.DataChainSendOrderStructure.DataChainSendOrderStructure(byte[]) Field anon.client.DataChainSendOrderStructure.m_orderData At DataChainSendOrderStructure.java:[line 58]
EI2 | anon.client.DataChainSendOrderStructure.setChannelCell(byte[]) may expose internal representation by storing an externally mutable object into DataChainSendOrderStructure.m_channelCell
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.client.DataChainSendOrderStructure In method anon.client.DataChainSendOrderStructure.setChannelCell(byte[]) Field anon.client.DataChainSendOrderStructure.m_channelCell At DataChainSendOrderStructure.java:[line 113]
EI2 | anon.client.InternalChannelMessage.InternalChannelMessage(int, byte[]) may expose internal representation by storing an externally mutable object into InternalChannelMessage.m_messageData
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.client.InternalChannelMessage In method anon.client.InternalChannelMessage.InternalChannelMessage(int, byte[]) Field anon.client.InternalChannelMessage.m_messageData At InternalChannelMessage.java:[line 54]
EI2 | anon.client.replay.TimestampUpdater.TimestampUpdater(MixParameters[], ReplayControlChannel) may expose internal representation by storing an externally mutable object into TimestampUpdater.m_mixParameters
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.client.replay.TimestampUpdater In method anon.client.replay.TimestampUpdater.TimestampUpdater(MixParameters[], ReplayControlChannel) Field anon.client.replay.TimestampUpdater.m_mixParameters At TimestampUpdater.java:[line 58]
EI2 | anon.crypto.AbstractX509Extension.AbstractX509Extension(String, boolean, byte[]) may expose internal representation by storing an externally mutable object into AbstractX509Extension.m_value
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.AbstractX509Extension In method anon.crypto.AbstractX509Extension.AbstractX509Extension(String, boolean, byte[]) Field anon.crypto.AbstractX509Extension.m_value At AbstractX509Extension.java:[line 79]
EI2 | anon.crypto.tinytls.ciphersuites.CipherSuite.CipherSuite(byte[]) may expose internal representation by storing an externally mutable object into CipherSuite.m_ciphersuitecode
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.ciphersuites.CipherSuite In method anon.crypto.tinytls.ciphersuites.CipherSuite.CipherSuite(byte[]) Field anon.crypto.tinytls.ciphersuites.CipherSuite.m_ciphersuitecode At CipherSuite.java:[line 109]
EI2 | anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.generateServerKeyExchange(IMyPrivateKey, byte[], byte[]) may expose internal representation by storing an externally mutable object into DHE_DSS_Key_Exchange.m_clientrandom
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange In method anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.generateServerKeyExchange(IMyPrivateKey, byte[], byte[]) Field anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.m_clientrandom At DHE_DSS_Key_Exchange.java:[line 95]
EI2 | anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.generateServerKeyExchange(IMyPrivateKey, byte[], byte[]) may expose internal representation by storing an externally mutable object into DHE_DSS_Key_Exchange.m_serverrandom
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange In method anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.generateServerKeyExchange(IMyPrivateKey, byte[], byte[]) Field anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.m_serverrandom At DHE_DSS_Key_Exchange.java:[line 96]
EI2 | anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.processServerKeyExchange(byte[], int, int, byte[], byte[], JAPCertificate) may expose internal representation by storing an externally mutable object into DHE_DSS_Key_Exchange.m_clientrandom
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange In method anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.processServerKeyExchange(byte[], int, int, byte[], byte[], JAPCertificate) Field anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.m_clientrandom At DHE_DSS_Key_Exchange.java:[line 138]
EI2 | anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.processServerKeyExchange(byte[], int, int, byte[], byte[], JAPCertificate) may expose internal representation by storing an externally mutable object into DHE_DSS_Key_Exchange.m_serverrandom
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange In method anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.processServerKeyExchange(byte[], int, int, byte[], byte[], JAPCertificate) Field anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.m_serverrandom At DHE_DSS_Key_Exchange.java:[line 139]
EI2 | anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.generateServerKeyExchange(IMyPrivateKey, byte[], byte[]) may expose internal representation by storing an externally mutable object into DHE_RSA_Key_Exchange.m_clientrandom
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange In method anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.generateServerKeyExchange(IMyPrivateKey, byte[], byte[]) Field anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.m_clientrandom At DHE_RSA_Key_Exchange.java:[line 101]
EI2 | anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.generateServerKeyExchange(IMyPrivateKey, byte[], byte[]) may expose internal representation by storing an externally mutable object into DHE_RSA_Key_Exchange.m_serverrandom
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange In method anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.generateServerKeyExchange(IMyPrivateKey, byte[], byte[]) Field anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.m_serverrandom At DHE_RSA_Key_Exchange.java:[line 102]
EI2 | anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.processServerKeyExchange(byte[], int, int, byte[], byte[], JAPCertificate) may expose internal representation by storing an externally mutable object into DHE_RSA_Key_Exchange.m_clientrandom
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange In method anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.processServerKeyExchange(byte[], int, int, byte[], byte[], JAPCertificate) Field anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.m_clientrandom At DHE_RSA_Key_Exchange.java:[line 144]
EI2 | anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.processServerKeyExchange(byte[], int, int, byte[], byte[], JAPCertificate) may expose internal representation by storing an externally mutable object into DHE_RSA_Key_Exchange.m_serverrandom
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange In method anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.processServerKeyExchange(byte[], int, int, byte[], byte[], JAPCertificate) Field anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.m_serverrandom At DHE_RSA_Key_Exchange.java:[line 145]
EI2 | anon.crypto.tinytls.TinyTLS.setClientCertificate(JAPCertificate[], IMyPrivateKey) may expose internal representation by storing an externally mutable object into TinyTLS.m_clientcertificates
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.TinyTLS In method anon.crypto.tinytls.TinyTLS.setClientCertificate(JAPCertificate[], IMyPrivateKey) Field anon.crypto.tinytls.TinyTLS.m_clientcertificates At TinyTLS.java:[line 1133]
EI2 | anon.crypto.tinytls.util.P_Hash.P_Hash(byte[], byte[], Digest) may expose internal representation by storing an externally mutable object into P_Hash.m_secret
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.util.P_Hash In method anon.crypto.tinytls.util.P_Hash.P_Hash(byte[], byte[], Digest) Field anon.crypto.tinytls.util.P_Hash.m_secret At P_Hash.java:[line 59]
EI2 | anon.crypto.tinytls.util.P_Hash.P_Hash(byte[], byte[], Digest) may expose internal representation by storing an externally mutable object into P_Hash.m_seed
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.util.P_Hash In method anon.crypto.tinytls.util.P_Hash.P_Hash(byte[], byte[], Digest) Field anon.crypto.tinytls.util.P_Hash.m_seed At P_Hash.java:[line 60]
EI2 | anon.crypto.tinytls.util.PRF.PRF(byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into PRF.m_label
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.util.PRF In method anon.crypto.tinytls.util.PRF.PRF(byte[], byte[], byte[]) Field anon.crypto.tinytls.util.PRF.m_label At PRF.java:[line 58]
EI2 | anon.crypto.tinytls.util.PRF.PRF(byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into PRF.m_secret
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.util.PRF In method anon.crypto.tinytls.util.PRF.PRF(byte[], byte[], byte[]) Field anon.crypto.tinytls.util.PRF.m_secret At PRF.java:[line 56]
EI2 | anon.crypto.tinytls.util.PRF.PRF(byte[], byte[], byte[]) may expose internal representation by storing an externally mutable object into PRF.m_seed
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.crypto.tinytls.util.PRF In method anon.crypto.tinytls.util.PRF.PRF(byte[], byte[], byte[]) Field anon.crypto.tinytls.util.PRF.m_seed At PRF.java:[line 57]
EI2 | anon.infoservice.test.DummyHTTPConnection.setDefaultHeaders(NVPair[]) may expose internal representation by storing an externally mutable object into DummyHTTPConnection.m_actualDefaultHeaders
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.infoservice.test.DummyHTTPConnection In method anon.infoservice.test.DummyHTTPConnection.setDefaultHeaders(NVPair[]) Field anon.infoservice.test.DummyHTTPConnection.m_actualDefaultHeaders At DummyHTTPConnection.java:[line 313]
EI2 | anon.mixminion.EMail.EMail(String[], String) may expose internal representation by storing an externally mutable object into EMail.m_receiver
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.EMail In method anon.mixminion.EMail.EMail(String[], String) Field anon.mixminion.EMail.m_receiver At EMail.java:[line 96]
EI2 | anon.mixminion.fec.PureCode.PureCode(int, int, char[]) may expose internal representation by storing an externally mutable object into PureCode.encMatrix
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.fec.PureCode In method anon.mixminion.fec.PureCode.PureCode(int, int, char[]) Field anon.mixminion.fec.PureCode.encMatrix At PureCode.java:[line 73]
EI2 | anon.mixminion.message.FragmentContainer.FragmentContainer(byte[], int) may expose internal representation by storing an externally mutable object into FragmentContainer.m_id
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.message.FragmentContainer In method anon.mixminion.message.FragmentContainer.FragmentContainer(byte[], int) Field anon.mixminion.message.FragmentContainer.m_id At FragmentContainer.java:[line 60]
EI2 | anon.mixminion.message.FragmentedMessage.FragmentedMessage(String[], byte[]) may expose internal representation by storing an externally mutable object into FragmentedMessage.m_payload
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.message.FragmentedMessage In method anon.mixminion.message.FragmentedMessage.FragmentedMessage(String[], byte[]) Field anon.mixminion.message.FragmentedMessage.m_payload At FragmentedMessage.java:[line 53]
EI2 | anon.mixminion.message.FragmentedMessage.FragmentedMessage(String[], byte[]) may expose internal representation by storing an externally mutable object into FragmentedMessage.m_recipient
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.message.FragmentedMessage In method anon.mixminion.message.FragmentedMessage.FragmentedMessage(String[], byte[]) Field anon.mixminion.message.FragmentedMessage.m_recipient At FragmentedMessage.java:[line 54]
EI2 | anon.mixminion.message.NoReplyMessage.NoReplyMessage(byte[][], int, String[], MMRList) may expose internal representation by storing an externally mutable object into NoReplyMessage.m_message_parts
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.message.NoReplyMessage In method anon.mixminion.message.NoReplyMessage.NoReplyMessage(byte[][], int, String[], MMRList) Field anon.mixminion.message.NoReplyMessage.m_message_parts At NoReplyMessage.java:[line 62]
EI2 | anon.mixminion.message.NoReplyMessage.NoReplyMessage(byte[][], int, String[], MMRList) may expose internal representation by storing an externally mutable object into NoReplyMessage.m_recipient
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.message.NoReplyMessage In method anon.mixminion.message.NoReplyMessage.NoReplyMessage(byte[][], int, String[], MMRList) Field anon.mixminion.message.NoReplyMessage.m_recipient At NoReplyMessage.java:[line 64]
EI2 | anon.mixminion.message.ReplyBlock.ReplyBlock(RoutingInformation, byte[], byte[], long) may expose internal representation by storing an externally mutable object into ReplyBlock.m_headerbytes
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.message.ReplyBlock In method anon.mixminion.message.ReplyBlock.ReplyBlock(RoutingInformation, byte[], byte[], long) Field anon.mixminion.message.ReplyBlock.m_headerbytes At ReplyBlock.java:[line 96]
EI2 | anon.mixminion.message.ReplyBlock.ReplyBlock(RoutingInformation, byte[], byte[], long) may expose internal representation by storing an externally mutable object into ReplyBlock.m_sharedSecret
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.message.ReplyBlock In method anon.mixminion.message.ReplyBlock.ReplyBlock(RoutingInformation, byte[], byte[], long) Field anon.mixminion.message.ReplyBlock.m_sharedSecret At ReplyBlock.java:[line 97]
EI2 | anon.mixminion.message.ReplyBlock.ReplyBlock(String, Vector, byte[]) may expose internal representation by storing an externally mutable object into ReplyBlock.m_longterm_secret
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.message.ReplyBlock In method anon.mixminion.message.ReplyBlock.ReplyBlock(String, Vector, byte[]) Field anon.mixminion.message.ReplyBlock.m_longterm_secret At ReplyBlock.java:[line 78]
EI2 | anon.mixminion.message.ReplyMessage.ReplyMessage(byte[][], int, Vector, MMRList) may expose internal representation by storing an externally mutable object into ReplyMessage.m_message_parts
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.message.ReplyMessage In method anon.mixminion.message.ReplyMessage.ReplyMessage(byte[][], int, Vector, MMRList) Field anon.mixminion.message.ReplyMessage.m_message_parts At ReplyMessage.java:[line 67]
EI2 | anon.mixminion.message.SingleBlockMessage.SingleBlockMessage(byte[]) may expose internal representation by storing an externally mutable object into SingleBlockMessage.m_payload
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.message.SingleBlockMessage In method anon.mixminion.message.SingleBlockMessage.SingleBlockMessage(byte[]) Field anon.mixminion.message.SingleBlockMessage.m_payload At SingleBlockMessage.java:[line 46]
EI2 | anon.mixminion.mmrdescription.MMRDescription.MMRDescription(String, String, int, byte[], byte[], boolean, boolean, String, SimpleDateFormat) may expose internal representation by storing an externally mutable object into MMRDescription.m_digest
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.MMRDescription(String, String, int, byte[], byte[], boolean, boolean, String, SimpleDateFormat) Field anon.mixminion.mmrdescription.MMRDescription.m_digest At MMRDescription.java:[line 73]
EI2 | anon.mixminion.mmrdescription.MMRDescription.MMRDescription(String, String, int, byte[], byte[], boolean, boolean, String, SimpleDateFormat) may expose internal representation by storing an externally mutable object into MMRDescription.m_keydigest
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.MMRDescription(String, String, int, byte[], byte[], boolean, boolean, String, SimpleDateFormat) Field anon.mixminion.mmrdescription.MMRDescription.m_keydigest At MMRDescription.java:[line 74]
EI2 | anon.pay.BIConnection.setCaptchaSolution(byte[]) may expose internal representation by storing an externally mutable object into BIConnection.m_captchaSolution
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.pay.BIConnection In method anon.pay.BIConnection.setCaptchaSolution(byte[]) Field anon.pay.BIConnection.m_captchaSolution At BIConnection.java:[line 568]
EI2 | anon.pay.xml.XMLChallenge.XMLChallenge(byte[]) may expose internal representation by storing an externally mutable object into XMLChallenge.m_arbChallenge
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.pay.xml.XMLChallenge In method anon.pay.xml.XMLChallenge.XMLChallenge(byte[]) Field anon.pay.xml.XMLChallenge.m_arbChallenge At XMLChallenge.java:[line 70]
EI2 | anon.pay.xml.XMLEasyCC.setPriceCerts(Hashtable) may expose internal representation by storing an externally mutable object into XMLEasyCC.m_priceCerts
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.pay.xml.XMLEasyCC In method anon.pay.xml.XMLEasyCC.setPriceCerts(Hashtable) Field anon.pay.xml.XMLEasyCC.m_priceCerts At XMLEasyCC.java:[line 304]
EI2 | anon.pay.xml.XMLPaymentSettings.XMLPaymentSettings(Hashtable) may expose internal representation by storing an externally mutable object into XMLPaymentSettings.m_paymentSettings
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.pay.xml.XMLPaymentSettings In method anon.pay.xml.XMLPaymentSettings.XMLPaymentSettings(Hashtable) Field anon.pay.xml.XMLPaymentSettings.m_paymentSettings At XMLPaymentSettings.java:[line 69]
EI2 | anon.pay.xml.XMLResponse.XMLResponse(byte[]) may expose internal representation by storing an externally mutable object into XMLResponse.m_arbResponse
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.pay.xml.XMLResponse In method anon.pay.xml.XMLResponse.XMLResponse(byte[]) Field anon.pay.xml.XMLResponse.m_arbResponse At XMLResponse.java:[line 55]
EI2 | anon.pay.xml.XMLTransCert.setReceivedDate(Date) may expose internal representation by storing an externally mutable object into XMLTransCert.m_receivedDate
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.pay.xml.XMLTransCert In method anon.pay.xml.XMLTransCert.setReceivedDate(Date) Field anon.pay.xml.XMLTransCert.m_receivedDate At XMLTransCert.java:[line 98]
EI2 | anon.pay.xml.XMLTransCert.setUsedDate(Date) may expose internal representation by storing an externally mutable object into XMLTransCert.m_usedDate
| Bug type EI_EXPOSE_REP2 (click for details) In class anon.pay.xml.XMLTransCert In method anon.pay.xml.XMLTransCert.setUsedDate(Date) Field anon.pay.xml.XMLTransCert.m_usedDate At XMLTransCert.java:[line 105]
EI2 | infoservice.agreement.multicast.messages.CommitMessage.CommitMessage(InitMessage, String, Hashtable) may expose internal representation by storing an externally mutable object into CommitMessage.m_EchoMessages
| Bug type EI_EXPOSE_REP2 (click for details) In class infoservice.agreement.multicast.messages.CommitMessage In method infoservice.agreement.multicast.messages.CommitMessage.CommitMessage(InitMessage, String, Hashtable) Field infoservice.agreement.multicast.messages.CommitMessage.m_EchoMessages At CommitMessage.java:[line 71]
EI2 | infoservice.agreement.multicast.messages.CommitMessage.setEchoMessages(Hashtable) may expose internal representation by storing an externally mutable object into CommitMessage.m_EchoMessages
| Bug type EI_EXPOSE_REP2 (click for details) In class infoservice.agreement.multicast.messages.CommitMessage In method infoservice.agreement.multicast.messages.CommitMessage.setEchoMessages(Hashtable) Field infoservice.agreement.multicast.messages.CommitMessage.m_EchoMessages At CommitMessage.java:[line 129]
EI2 | infoservice.agreement.multicast.messages.RawMessage.RawMessage(byte[]) may expose internal representation by storing an externally mutable object into RawMessage.m_postData
| Bug type EI_EXPOSE_REP2 (click for details) In class infoservice.agreement.multicast.messages.RawMessage In method infoservice.agreement.multicast.messages.RawMessage.RawMessage(byte[]) Field infoservice.agreement.multicast.messages.RawMessage.m_postData At RawMessage.java:[line 58]
EI2 | infoservice.agreement.paxos.PaxosCommunicator.setTargets(Hashtable) may expose internal representation by storing an externally mutable object into PaxosCommunicator.m_targets
| Bug type EI_EXPOSE_REP2 (click for details) In class infoservice.agreement.paxos.PaxosCommunicator In method infoservice.agreement.paxos.PaxosCommunicator.setTargets(Hashtable) Field infoservice.agreement.paxos.PaxosCommunicator.m_targets At PaxosCommunicator.java:[line 149]
EI2 | infoservice.tor.DummyORListFetcher.DummyORListFetcher(byte[]) may expose internal representation by storing an externally mutable object into DummyORListFetcher.m_torNodesListStructure
| Bug type EI_EXPOSE_REP2 (click for details) In class infoservice.tor.DummyORListFetcher In method infoservice.tor.DummyORListFetcher.DummyORListFetcher(byte[]) Field infoservice.tor.DummyORListFetcher.m_torNodesListStructure At DummyORListFetcher.java:[line 52]
FI | anon.shared.AbstractChannel.finalize() is public; should be protected
| Bug type FI_PUBLIC_SHOULD_BE_PROTECTED (click for details) In class anon.shared.AbstractChannel In method anon.shared.AbstractChannel.finalize() At AbstractChannel.java:[lines 61-62]
FI | anon.shared.IOQueue.finalize() is public; should be protected
| Bug type FI_PUBLIC_SHOULD_BE_PROTECTED (click for details) In class anon.shared.IOQueue In method anon.shared.IOQueue.finalize() At IOQueue.java:[lines 249-254]
FI | anon.xmlrpc.client.ChannelProxy.finalize() is public; should be protected
| Bug type FI_PUBLIC_SHOULD_BE_PROTECTED (click for details) In class anon.xmlrpc.client.ChannelProxy In method anon.xmlrpc.client.ChannelProxy.finalize() At ChannelProxy.java:[lines 61-62]
FI | gui.GUIUtils$WindowDocker.finalize() is public; should be protected
| Bug type FI_PUBLIC_SHOULD_BE_PROTECTED (click for details) In class gui.GUIUtils$WindowDocker In method gui.GUIUtils$WindowDocker.finalize() At GUIUtils.java:[lines 690-696]
FI | jap.JAPDebug.finalize() is public; should be protected
| Bug type FI_PUBLIC_SHOULD_BE_PROTECTED (click for details) In class jap.JAPDebug In method jap.JAPDebug.finalize() At JAPDebug.java:[lines 103-111]
FI | jap.StatusPanel.finalize() is public; should be protected
| Bug type FI_PUBLIC_SHOULD_BE_PROTECTED (click for details) In class jap.StatusPanel In method jap.StatusPanel.finalize() At StatusPanel.java:[lines 141-150]
FI | logging.LogHolder.finalize() is public; should be protected
| Bug type FI_PUBLIC_SHOULD_BE_PROTECTED (click for details) In class logging.LogHolder In method logging.LogHolder.finalize() At LogHolder.java:[lines 90-96]
MS | anon.crypto.tinytls.TinyTLS.PROTOCOLVERSION should be both final and package protected
| Bug type MS_FINAL_PKGPROTECT (click for details) In class anon.crypto.tinytls.TinyTLS Field anon.crypto.tinytls.TinyTLS.PROTOCOLVERSION At TinyTLS.java:[line 91]
MS | anon.crypto.tinytls.TinyTLSServerSocket.PROTOCOLVERSION should be both final and package protected
| Bug type MS_FINAL_PKGPROTECT (click for details) In class anon.crypto.tinytls.TinyTLSServerSocket Field anon.crypto.tinytls.TinyTLSServerSocket.PROTOCOLVERSION At TinyTLSServerSocket.java:[line 79]
MS | anon.mixminion.fec.FECMath.prim_polys should be package protected
| Bug type MS_PKGPROTECT (click for details) In class anon.mixminion.fec.FECMath Field anon.mixminion.fec.FECMath.prim_polys At FECMath.java:[line 84]
MS | public static anon.pay.xml.XMLAuthenticationSuccess.getXMLByteArray() may expose internal representation by returning XMLAuthenticationSuccess.XML_AUTH_SUCCESS
| Bug type MS_EXPOSE_REP (click for details) In class anon.pay.xml.XMLAuthenticationSuccess In method anon.pay.xml.XMLAuthenticationSuccess.getXMLByteArray() Field anon.pay.xml.XMLAuthenticationSuccess.XML_AUTH_SUCCESS At XMLAuthenticationSuccess.java:[line 19]
MS | anon.pay.xml.XMLBankAccount.ms_strElemName isn't final but should be
| Bug type MS_SHOULD_BE_FINAL (click for details) In class anon.pay.xml.XMLBankAccount Field anon.pay.xml.XMLBankAccount.ms_strElemName At XMLBankAccount.java:[line 61]
MS | anon.pay.xml.XMLEmail.ms_strElemName isn't final but should be
| Bug type MS_SHOULD_BE_FINAL (click for details) In class anon.pay.xml.XMLEmail Field anon.pay.xml.XMLEmail.ms_strElemName At XMLEmail.java:[line 65]
MS | anon.pay.xml.XMLMixAccountBalance.ms_strElemName isn't final but should be
| Bug type MS_SHOULD_BE_FINAL (click for details) In class anon.pay.xml.XMLMixAccountBalance Field anon.pay.xml.XMLMixAccountBalance.ms_strElemName At XMLMixAccountBalance.java:[line 50]
MS | infoservice.agreement.paxos.messages.PaxosMessage.COLLECT isn't final but should be
| Bug type MS_SHOULD_BE_FINAL (click for details) In class infoservice.agreement.paxos.messages.PaxosMessage Field infoservice.agreement.paxos.messages.PaxosMessage.COLLECT At PaxosMessage.java:[line 58]
MS | infoservice.agreement.paxos.messages.PaxosMessage.DECIDE isn't final but should be
| Bug type MS_SHOULD_BE_FINAL (click for details) In class infoservice.agreement.paxos.messages.PaxosMessage Field infoservice.agreement.paxos.messages.PaxosMessage.DECIDE At PaxosMessage.java:[line 46]
MS | infoservice.agreement.paxos.messages.PaxosMessage.FREEZE isn't final but should be
| Bug type MS_SHOULD_BE_FINAL (click for details) In class infoservice.agreement.paxos.messages.PaxosMessage Field infoservice.agreement.paxos.messages.PaxosMessage.FREEZE At PaxosMessage.java:[line 49]
MS | infoservice.agreement.paxos.messages.PaxosMessage.FREEZEPROOF isn't final but should be
| Bug type MS_SHOULD_BE_FINAL (click for details) In class infoservice.agreement.paxos.messages.PaxosMessage Field infoservice.agreement.paxos.messages.PaxosMessage.FREEZEPROOF At PaxosMessage.java:[line 55]
MS | infoservice.agreement.paxos.messages.PaxosMessage.PROPOSE isn't final but should be
| Bug type MS_SHOULD_BE_FINAL (click for details) In class infoservice.agreement.paxos.messages.PaxosMessage Field infoservice.agreement.paxos.messages.PaxosMessage.PROPOSE At PaxosMessage.java:[line 37]
MS | infoservice.agreement.paxos.messages.PaxosMessage.REJECT isn't final but should be
| Bug type MS_SHOULD_BE_FINAL (click for details) In class infoservice.agreement.paxos.messages.PaxosMessage Field infoservice.agreement.paxos.messages.PaxosMessage.REJECT At PaxosMessage.java:[line 52]
MS | infoservice.agreement.paxos.messages.PaxosMessage.STRONG isn't final but should be
| Bug type MS_SHOULD_BE_FINAL (click for details) In class infoservice.agreement.paxos.messages.PaxosMessage Field infoservice.agreement.paxos.messages.PaxosMessage.STRONG At PaxosMessage.java:[line 43]
MS | infoservice.agreement.paxos.messages.PaxosMessage.WEAK isn't final but should be
| Bug type MS_SHOULD_BE_FINAL (click for details) In class infoservice.agreement.paxos.messages.PaxosMessage Field infoservice.agreement.paxos.messages.PaxosMessage.WEAK At PaxosMessage.java:[line 40]
MS | jap.JAPConstants.ACCOUNTICONFNARRAY is a mutable array
| Bug type MS_MUTABLE_ARRAY (click for details) In class jap.JAPConstants Field jap.JAPConstants.ACCOUNTICONFNARRAY At JAPConstants.java:[line 189]
MS | jap.JAPConstants.DEFAULT_INFOSERVICE_HOSTNAMES should be package protected
| Bug type MS_PKGPROTECT (click for details) In class jap.JAPConstants Field jap.JAPConstants.DEFAULT_INFOSERVICE_HOSTNAMES At JAPConstants.java:[line 90]
MS | jap.JAPConstants.DEFAULT_INFOSERVICE_NAMES should be package protected
| Bug type MS_PKGPROTECT (click for details) In class jap.JAPConstants Field jap.JAPConstants.DEFAULT_INFOSERVICE_NAMES At JAPConstants.java:[line 85]
MS | jap.JAPConstants.DEFAULT_INFOSERVICE_PORT_NUMBERS should be package protected
| Bug type MS_PKGPROTECT (click for details) In class jap.JAPConstants Field jap.JAPConstants.DEFAULT_INFOSERVICE_PORT_NUMBERS At JAPConstants.java:[line 94]
MS | jap.JAPConstants.INFOSERVICE_ROOT_CERTS should be package protected
| Bug type MS_PKGPROTECT (click for details) In class jap.JAPConstants Field jap.JAPConstants.INFOSERVICE_ROOT_CERTS At JAPConstants.java:[line 208]
MS | jap.JAPConstants.MIX_ROOT_CERTS should be package protected
| Bug type MS_PKGPROTECT (click for details) In class jap.JAPConstants Field jap.JAPConstants.MIX_ROOT_CERTS At JAPConstants.java:[line 207]
MS | jap.JAPConstants.PI_CERTS should be package protected
| Bug type MS_PKGPROTECT (click for details) In class jap.JAPConstants Field jap.JAPConstants.PI_CERTS At JAPConstants.java:[line 200]
MS | jpi.Configuration.ms_keyFile should be package protected
| Bug type MS_PKGPROTECT (click for details) In class jpi.Configuration Field jpi.Configuration.ms_keyFile In Configuration.java
MS | jpi.Configuration.ms_keyFilePassword should be package protected
| Bug type MS_PKGPROTECT (click for details) In class jpi.Configuration Field jpi.Configuration.ms_keyFilePassword In Configuration.java
MS | logging.LogLevel.STR_Levels is a mutable array
| Bug type MS_MUTABLE_ARRAY (click for details) In class logging.LogLevel Field logging.LogLevel.STR_Levels At LogLevel.java:[line 55]

## Multithreaded correctness Warnings

Code&nbsp; | Warning
--- | ---
IS | Inconsistent synchronization of anon.crypto.tinytls.TinyTLS$TLSInputStream.m_aktPendOffset; locked 66% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class anon.crypto.tinytls.TinyTLS$TLSInputStream Field anon.crypto.tinytls.TinyTLS$TLSInputStream.m_aktPendOffset Synchronized 66% of the time Unsynchronized access at TinyTLS.java:[line 305] Unsynchronized access at TinyTLS.java:[line 306] Unsynchronized access at TinyTLS.java:[line 306] Unsynchronized access at TinyTLS.java:[line 283] Synchronized access at TinyTLS.java:[line 230] Synchronized access at TinyTLS.java:[line 226] Synchronized access at TinyTLS.java:[line 246] Synchronized access at TinyTLS.java:[line 252] Synchronized access at TinyTLS.java:[line 246] Synchronized access at TinyTLS.java:[line 236] Synchronized access at TinyTLS.java:[line 242] Synchronized access at TinyTLS.java:[line 242]
IS | Inconsistent synchronization of anon.crypto.tinytls.TinyTLSServerSocket$TLSInputStream.m_aktPendOffset; locked 66% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class anon.crypto.tinytls.TinyTLSServerSocket$TLSInputStream Field anon.crypto.tinytls.TinyTLSServerSocket$TLSInputStream.m_aktPendOffset Synchronized 66% of the time Unsynchronized access at TinyTLSServerSocket.java:[line 281] Unsynchronized access at TinyTLSServerSocket.java:[line 282] Unsynchronized access at TinyTLSServerSocket.java:[line 282] Unsynchronized access at TinyTLSServerSocket.java:[line 264] Synchronized access at TinyTLSServerSocket.java:[line 207] Synchronized access at TinyTLSServerSocket.java:[line 203] Synchronized access at TinyTLSServerSocket.java:[line 223] Synchronized access at TinyTLSServerSocket.java:[line 213] Synchronized access at TinyTLSServerSocket.java:[line 229] Synchronized access at TinyTLSServerSocket.java:[line 223] Synchronized access at TinyTLSServerSocket.java:[line 219] Synchronized access at TinyTLSServerSocket.java:[line 219]
IS | Inconsistent synchronization of anon.infoservice.InfoServiceHolder.m_changeInfoServices; locked 80% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class anon.infoservice.InfoServiceHolder Field anon.infoservice.InfoServiceHolder.m_changeInfoServices Synchronized 80% of the time Unsynchronized access at InfoServiceHolder.java:[line 341] Synchronized access at InfoServiceHolder.java:[line 285] Synchronized access at InfoServiceHolder.java:[line 264] Synchronized access at InfoServiceHolder.java:[line 266] Synchronized access at InfoServiceHolder.java:[line 269]
IS | Inconsistent synchronization of anon.infoservice.ProxyInterface.m_bAuthPassDialogShown; locked 66% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class anon.infoservice.ProxyInterface Field anon.infoservice.ProxyInterface.m_bAuthPassDialogShown Synchronized 66% of the time Unsynchronized access at ProxyInterface.java:[line 329] Synchronized access at ProxyInterface.java:[line 310] Synchronized access at ProxyInterface.java:[line 314]
IS | Inconsistent synchronization of anon.pay.xml.XMLEasyCC.m_lTransferredBytes; locked 60% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class anon.pay.xml.XMLEasyCC Field anon.pay.xml.XMLEasyCC.m_lTransferredBytes Synchronized 60% of the time Unsynchronized access at XMLEasyCC.java:[line 264] Unsynchronized access at XMLEasyCC.java:[line 174] Synchronized access at XMLEasyCC.java:[line 325] Synchronized access at XMLEasyCC.java:[line 313] Synchronized access at XMLEasyCC.java:[line 313]
IS | Inconsistent synchronization of anon.tor.Circuit.m_MaxStreamsPerCircuit; locked 50% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class anon.tor.Circuit Field anon.tor.Circuit.m_MaxStreamsPerCircuit Synchronized 50% of the time Unsynchronized access at Circuit.java:[line 704] Synchronized access at Circuit.java:[line 671]
IS | Inconsistent synchronization of anon.tor.Circuit.m_streamCounter; locked 75% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class anon.tor.Circuit Field anon.tor.Circuit.m_streamCounter Synchronized 75% of the time Unsynchronized access at Circuit.java:[line 706] Synchronized access at Circuit.java:[line 649] Synchronized access at Circuit.java:[line 649] Synchronized access at Circuit.java:[line 671]
IS | Inconsistent synchronization of anon.tor.FirstOnionRouterConnection.m_Circuits; locked 75% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class anon.tor.FirstOnionRouterConnection Field anon.tor.FirstOnionRouterConnection.m_Circuits Synchronized 75% of the time Unsynchronized access at FirstOnionRouterConnection.java:[line 162] Unsynchronized access at FirstOnionRouterConnection.java:[line 169] Synchronized access at FirstOnionRouterConnection.java:[line 402] Synchronized access at FirstOnionRouterConnection.java:[line 407] Synchronized access at FirstOnionRouterConnection.java:[line 234] Synchronized access at FirstOnionRouterConnection.java:[line 265] Synchronized access at FirstOnionRouterConnection.java:[line 257] Synchronized access at FirstOnionRouterConnection.java:[line 259]
IS | Inconsistent synchronization of anon.tor.FirstOnionRouterConnection.m_bIsClosed; locked 50% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class anon.tor.FirstOnionRouterConnection Field anon.tor.FirstOnionRouterConnection.m_bIsClosed Synchronized 50% of the time Unsynchronized access at FirstOnionRouterConnection.java:[line 392] Unsynchronized access at FirstOnionRouterConnection.java:[line 120] Synchronized access at FirstOnionRouterConnection.java:[line 412] Synchronized access at FirstOnionRouterConnection.java:[line 237]
IS | Inconsistent synchronization of anon.tor.FirstOnionRouterConnection.m_istream; locked 50% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class anon.tor.FirstOnionRouterConnection Field anon.tor.FirstOnionRouterConnection.m_istream Synchronized 50% of the time Unsynchronized access at FirstOnionRouterConnection.java:[line 302] Synchronized access at FirstOnionRouterConnection.java:[line 232]
IS | Inconsistent synchronization of anon.tor.Tor.m_useDNSCache; locked 50% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class anon.tor.Tor Field anon.tor.Tor.m_useDNSCache Synchronized 50% of the time Unsynchronized access at Tor.java:[line 705] Synchronized access at Tor.java:[line 856]
IS | Inconsistent synchronization of gui.dialog.DialogContentPane.m_lblSeeFullText; locked 82% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class gui.dialog.DialogContentPane Field gui.dialog.DialogContentPane.m_lblSeeFullText Synchronized 82% of the time Unsynchronized access at DialogContentPane.java:[line 2154] Unsynchronized access at DialogContentPane.java:[line 2150] Unsynchronized access at DialogContentPane.java:[line 2936] Synchronized access at DialogContentPane.java:[line 2115] Synchronized access at DialogContentPane.java:[line 2117] Synchronized access at DialogContentPane.java:[line 2118] Synchronized access at DialogContentPane.java:[line 2128] Synchronized access at DialogContentPane.java:[line 2129] Synchronized access at DialogContentPane.java:[line 2130] Synchronized access at DialogContentPane.java:[line 2132] Synchronized access at DialogContentPane.java:[line 2136] Synchronized access at DialogContentPane.java:[line 2140] Synchronized access at DialogContentPane.java:[line 2142] Synchronized access at DialogContentPane.java:[line 2143] Synchronized access at DialogContentPane.java:[line 2144] Synchronized access at DialogContentPane.java:[line 2159] Synchronized access at DialogContentPane.java:[line 2213]
IS | Inconsistent synchronization of gui.dialog.DialogContentPane.m_lblText; locked 81% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class gui.dialog.DialogContentPane Field gui.dialog.DialogContentPane.m_lblText Synchronized 81% of the time Unsynchronized access at DialogContentPane.java:[line 3054] Unsynchronized access at DialogContentPane.java:[line 3057] Unsynchronized access at DialogContentPane.java:[line 3058] Unsynchronized access at DialogContentPane.java:[line 3058] Unsynchronized access at DialogContentPane.java:[line 3058] Unsynchronized access at DialogContentPane.java:[line 3060] Unsynchronized access at DialogContentPane.java:[line 2935] Synchronized access at DialogContentPane.java:[line 1734] Synchronized access at DialogContentPane.java:[line 1736] Synchronized access at DialogContentPane.java:[line 1746] Synchronized access at DialogContentPane.java:[line 1756] Synchronized access at DialogContentPane.java:[line 1751] Synchronized access at DialogContentPane.java:[line 1751] Synchronized access at DialogContentPane.java:[line 1751] Synchronized access at DialogContentPane.java:[line 1759] Synchronized access at DialogContentPane.java:[line 1764] Synchronized access at DialogContentPane.java:[line 1759] Synchronized access at DialogContentPane.java:[line 1817] Synchronized access at DialogContentPane.java:[line 1819] Synchronized access at DialogContentPane.java:[line 2090] Synchronized access at DialogContentPane.java:[line 2092] Synchronized access at DialogContentPane.java:[line 2101] Synchronized access at DialogContentPane.java:[line 2102] Synchronized access at DialogContentPane.java:[line 2104] Synchronized access at DialogContentPane.java:[line 2122] Synchronized access at DialogContentPane.java:[line 2123] Synchronized access at DialogContentPane.java:[line 2217] Synchronized access at DialogContentPane.java:[line 2219] Synchronized access at DialogContentPane.java:[line 2220] Synchronized access at DialogContentPane.java:[line 2138] Synchronized access at DialogContentPane.java:[line 2162] Synchronized access at DialogContentPane.java:[line 2182] Synchronized access at DialogContentPane.java:[line 2212] Synchronized access at DialogContentPane.java:[line 2176] Synchronized access at DialogContentPane.java:[line 2183] Synchronized access at DialogContentPane.java:[line 2177] Synchronized access at DialogContentPane.java:[line 2184] Synchronized access at DialogContentPane.java:[line 2184]
IS | Inconsistent synchronization of gui.dialog.DialogContentPane.m_strText; locked 69% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class gui.dialog.DialogContentPane Field gui.dialog.DialogContentPane.m_strText Synchronized 69% of the time Unsynchronized access at DialogContentPane.java:[line 2154] Unsynchronized access at DialogContentPane.java:[line 2150] Unsynchronized access at DialogContentPane.java:[line 2929] Unsynchronized access at DialogContentPane.java:[line 2026] Synchronized access at DialogContentPane.java:[line 2045] Synchronized access at DialogContentPane.java:[line 2094] Synchronized access at DialogContentPane.java:[line 2095] Synchronized access at DialogContentPane.java:[line 2095] Synchronized access at DialogContentPane.java:[line 2098] Synchronized access at DialogContentPane.java:[line 2101] Synchronized access at DialogContentPane.java:[line 2122] Synchronized access at DialogContentPane.java:[line 2182] Synchronized access at DialogContentPane.java:[line 2212]
IS | Inconsistent synchronization of gui.JAPAboutAutoScroller.m_msSleep; locked 50% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class gui.JAPAboutAutoScroller Field gui.JAPAboutAutoScroller.m_msSleep Synchronized 50% of the time Unsynchronized access at JAPAboutAutoScroller.java:[line 244] Synchronized access at JAPAboutAutoScroller.java:[line 130]
IS | Inconsistent synchronization of infoservice.agreement.common.FifoQueue.m_messages; locked 86% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class infoservice.agreement.common.FifoQueue Field infoservice.agreement.common.FifoQueue.m_messages Synchronized 86% of the time Unsynchronized access at FifoQueue.java:[line 105] Unsynchronized access at FifoQueue.java:[line 116] Unsynchronized access at FifoQueue.java:[line 118] Synchronized access at FifoQueue.java:[line 78] Synchronized access at FifoQueue.java:[line 79] Synchronized access at FifoQueue.java:[line 88] Synchronized access at FifoQueue.java:[line 81] Synchronized access at FifoQueue.java:[line 88] Synchronized access at FifoQueue.java:[line 88] Synchronized access at FifoQueue.java:[line 82] Synchronized access at FifoQueue.java:[line 82] Synchronized access at FifoQueue.java:[line 92] Synchronized access at FifoQueue.java:[line 83] Synchronized access at FifoQueue.java:[line 84] Synchronized access at FifoQueue.java:[line 94] Synchronized access at FifoQueue.java:[line 56] Synchronized access at FifoQueue.java:[line 66] Synchronized access at FifoQueue.java:[line 58] Synchronized access at FifoQueue.java:[line 59] Synchronized access at FifoQueue.java:[line 59] Synchronized access at FifoQueue.java:[line 60] Synchronized access at FifoQueue.java:[line 61]
IS | Inconsistent synchronization of infoservice.agreement.multicast.messages.AMessage.m_xmlNode; locked 66% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class infoservice.agreement.multicast.messages.AMessage Field infoservice.agreement.multicast.messages.AMessage.m_xmlNode Synchronized 66% of the time Unsynchronized access at AMessage.java:[line 291] Synchronized access at AMessage.java:[line 319] Synchronized access at AMessage.java:[line 321]
IS | Inconsistent synchronization of infoservice.agreement.paxos.integration.InfoServiceCollectMessage.m_compressedData; locked 66% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class infoservice.agreement.paxos.integration.InfoServiceCollectMessage Field infoservice.agreement.paxos.integration.InfoServiceCollectMessage.m_compressedData Synchronized 66% of the time Unsynchronized access at InfoServiceCollectMessage.java:[line 144] Synchronized access at InfoServiceCollectMessage.java:[line 101] Synchronized access at InfoServiceCollectMessage.java:[line 141]
IS | Inconsistent synchronization of infoservice.agreement.paxos.integration.InfoServiceFreezeProofMessage.m_compressedData; locked 66% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class infoservice.agreement.paxos.integration.InfoServiceFreezeProofMessage Field infoservice.agreement.paxos.integration.InfoServiceFreezeProofMessage.m_compressedData Synchronized 66% of the time Unsynchronized access at InfoServiceFreezeProofMessage.java:[line 133] Synchronized access at InfoServiceFreezeProofMessage.java:[line 98] Synchronized access at InfoServiceFreezeProofMessage.java:[line 130]
IS | Inconsistent synchronization of infoservice.agreement.paxos.integration.InfoServicePaxosMessage.m_compressedData; locked 66% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class infoservice.agreement.paxos.integration.InfoServicePaxosMessage Field infoservice.agreement.paxos.integration.InfoServicePaxosMessage.m_compressedData Synchronized 66% of the time Unsynchronized access at InfoServicePaxosMessage.java:[line 130] Synchronized access at InfoServicePaxosMessage.java:[line 99] Synchronized access at InfoServicePaxosMessage.java:[line 127]
IS | Inconsistent synchronization of infoservice.mailsystem.central.server.util.LimitedLengthInputStream.m_readLimit; locked 82% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class infoservice.mailsystem.central.server.util.LimitedLengthInputStream Field infoservice.mailsystem.central.server.util.LimitedLengthInputStream.m_readLimit Synchronized 82% of the time Unsynchronized access at LimitedLengthInputStream.java:[line 191] Unsynchronized access at LimitedLengthInputStream.java:[line 140] Unsynchronized access at LimitedLengthInputStream.java:[line 82] Synchronized access at LimitedLengthInputStream.java:[line 196] Synchronized access at LimitedLengthInputStream.java:[line 198] Synchronized access at LimitedLengthInputStream.java:[line 202] Synchronized access at LimitedLengthInputStream.java:[line 145] Synchronized access at LimitedLengthInputStream.java:[line 148] Synchronized access at LimitedLengthInputStream.java:[line 152] Synchronized access at LimitedLengthInputStream.java:[line 159] Synchronized access at LimitedLengthInputStream.java:[line 159] Synchronized access at LimitedLengthInputStream.java:[line 164] Synchronized access at LimitedLengthInputStream.java:[line 164] Synchronized access at LimitedLengthInputStream.java:[line 87] Synchronized access at LimitedLengthInputStream.java:[line 92] Synchronized access at LimitedLengthInputStream.java:[line 92] Synchronized access at LimitedLengthInputStream.java:[line 231]
IS | Inconsistent synchronization of infoservice.tor.MixminionDirectoryAgent.m_updateInterval; locked 66% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class infoservice.tor.MixminionDirectoryAgent Field infoservice.tor.MixminionDirectoryAgent.m_updateInterval Synchronized 66% of the time Unsynchronized access at MixminionDirectoryAgent.java:[line 210] Synchronized access at MixminionDirectoryAgent.java:[line 111] Synchronized access at MixminionDirectoryAgent.java:[line 113]
IS | Inconsistent synchronization of jap.AbstractDatabaseUpdater.m_bAutoUpdateChanged; locked 83% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.AbstractDatabaseUpdater Field jap.AbstractDatabaseUpdater.m_bAutoUpdateChanged Synchronized 83% of the time Unsynchronized access at AbstractDatabaseUpdater.java:[line 319] Synchronized access at AbstractDatabaseUpdater.java:[line 129] Synchronized access at AbstractDatabaseUpdater.java:[line 130] Synchronized access at AbstractDatabaseUpdater.java:[line 132] Synchronized access at AbstractDatabaseUpdater.java:[line 283] Synchronized access at AbstractDatabaseUpdater.java:[line 220]
IS | Inconsistent synchronization of jap.forward.JAPConfForwardingClient.m_messageSystem; locked 66% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.forward.JAPConfForwardingClient Field jap.forward.JAPConfForwardingClient.m_messageSystem Synchronized 66% of the time Unsynchronized access at JAPConfForwardingClient.java:[line 257] Unsynchronized access at JAPConfForwardingClient.java:[line 263] Synchronized access at JAPConfForwardingClient.java:[line 274] Synchronized access at JAPConfForwardingClient.java:[line 87] Synchronized access at JAPConfForwardingClient.java:[line 90] Synchronized access at JAPConfForwardingClient.java:[line 101]
IS | Inconsistent synchronization of jap.forward.JAPRoutingRegistrationInfoServices.m_updateInfoServiceListThread; locked 81% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.forward.JAPRoutingRegistrationInfoServices Field jap.forward.JAPRoutingRegistrationInfoServices.m_updateInfoServiceListThread Synchronized 81% of the time Unsynchronized access at JAPRoutingRegistrationInfoServices.java:[line 584] Unsynchronized access at JAPRoutingRegistrationInfoServices.java:[line 591] Synchronized access at JAPRoutingRegistrationInfoServices.java:[line 643] Synchronized access at JAPRoutingRegistrationInfoServices.java:[line 646] Synchronized access at JAPRoutingRegistrationInfoServices.java:[line 647] Synchronized access at JAPRoutingRegistrationInfoServices.java:[line 648] Synchronized access at JAPRoutingRegistrationInfoServices.java:[line 665] Synchronized access at JAPRoutingRegistrationInfoServices.java:[line 667] Synchronized access at JAPRoutingRegistrationInfoServices.java:[line 669] Synchronized access at JAPRoutingRegistrationInfoServices.java:[line 673] Synchronized access at JAPRoutingRegistrationInfoServices.java:[line 679]
IS | Inconsistent synchronization of jap.forward.JAPRoutingSettings.m_serverPort; locked 71% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.forward.JAPRoutingSettings Field jap.forward.JAPRoutingSettings.m_serverPort Synchronized 71% of the time Unsynchronized access at JAPRoutingSettings.java:[line 929] Unsynchronized access at JAPRoutingSettings.java:[line 425] Synchronized access at JAPRoutingSettings.java:[line 1067] Synchronized access at JAPRoutingSettings.java:[line 1075] Synchronized access at JAPRoutingSettings.java:[line 448] Synchronized access at JAPRoutingSettings.java:[line 453] Synchronized access at JAPRoutingSettings.java:[line 467]
IS | Inconsistent synchronization of jap.forward.JAPRoutingUseableMixCascades.m_allowAllAvailableCascades; locked 85% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.forward.JAPRoutingUseableMixCascades Field jap.forward.JAPRoutingUseableMixCascades.m_allowAllAvailableCascades Synchronized 85% of the time Unsynchronized access at JAPRoutingUseableMixCascades.java:[line 510] Synchronized access at JAPRoutingUseableMixCascades.java:[line 311] Synchronized access at JAPRoutingUseableMixCascades.java:[line 313] Synchronized access at JAPRoutingUseableMixCascades.java:[line 340] Synchronized access at JAPRoutingUseableMixCascades.java:[line 184] Synchronized access at JAPRoutingUseableMixCascades.java:[line 263] Synchronized access at JAPRoutingUseableMixCascades.java:[line 220]
IS | Inconsistent synchronization of jap.forward.JAPRoutingUseableMixCascades.m_updateMixCascadesListThread; locked 88% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.forward.JAPRoutingUseableMixCascades Field jap.forward.JAPRoutingUseableMixCascades.m_updateMixCascadesListThread Synchronized 88% of the time Unsynchronized access at JAPRoutingUseableMixCascades.java:[line 470] Unsynchronized access at JAPRoutingUseableMixCascades.java:[line 477] Synchronized access at JAPRoutingUseableMixCascades.java:[line 597] Synchronized access at JAPRoutingUseableMixCascades.java:[line 599] Synchronized access at JAPRoutingUseableMixCascades.java:[line 601] Synchronized access at JAPRoutingUseableMixCascades.java:[line 605] Synchronized access at JAPRoutingUseableMixCascades.java:[line 611] Synchronized access at JAPRoutingUseableMixCascades.java:[line 314] Synchronized access at JAPRoutingUseableMixCascades.java:[line 184] Synchronized access at JAPRoutingUseableMixCascades.java:[line 263] Synchronized access at JAPRoutingUseableMixCascades.java:[line 220] Synchronized access at JAPRoutingUseableMixCascades.java:[line 142] Synchronized access at JAPRoutingUseableMixCascades.java:[line 133] Synchronized access at JAPRoutingUseableMixCascades.java:[line 574] Synchronized access at JAPRoutingUseableMixCascades.java:[line 577] Synchronized access at JAPRoutingUseableMixCascades.java:[line 578] Synchronized access at JAPRoutingUseableMixCascades.java:[line 579]
IS | Inconsistent synchronization of jap.JAPConfAnon.m_lblMix; locked 87% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.JAPConfAnon Field jap.JAPConfAnon.m_lblMix Synchronized 87% of the time Unsynchronized access at JAPConfAnon.java:[line 229] Synchronized access at JAPConfAnon.java:[line 643] Synchronized access at JAPConfAnon.java:[line 626] Synchronized access at JAPConfAnon.java:[line 636] Synchronized access at JAPConfAnon.java:[line 631] Synchronized access at JAPConfAnon.java:[line 637] Synchronized access at JAPConfAnon.java:[line 632] Synchronized access at JAPConfAnon.java:[line 632]
IS | Inconsistent synchronization of jap.JAPConfAnon$MyTableModel.m_vecCascades; locked 80% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.JAPConfAnon$MyTableModel Field jap.JAPConfAnon$MyTableModel.m_vecCascades Synchronized 80% of the time Unsynchronized access at JAPConfAnon.java:[line 2690] Unsynchronized access at JAPConfAnon.java:[line 2750] Synchronized access at JAPConfAnon.java:[line 2709] Synchronized access at JAPConfAnon.java:[line 2713] Synchronized access at JAPConfAnon.java:[line 2636] Synchronized access at JAPConfAnon.java:[line 2699] Synchronized access at JAPConfAnon.java:[line 2649] Synchronized access at JAPConfAnon.java:[line 2652] Synchronized access at JAPConfAnon.java:[line 2654] Synchronized access at JAPConfAnon.java:[line 2665]
IS | Inconsistent synchronization of jap.JAPConfServices.m_anonModule; locked 80% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.JAPConfServices Field jap.JAPConfServices.m_anonModule Synchronized 80% of the time Unsynchronized access at JAPConfServices.java:[line 197] Synchronized access at JAPConfServices.java:[line 247] Synchronized access at JAPConfServices.java:[line 252] Synchronized access at JAPConfServices.java:[line 249] Synchronized access at JAPConfServices.java:[line 312]
IS | Inconsistent synchronization of jap.JAPConfServices.m_tabbedModules; locked 83% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.JAPConfServices Field jap.JAPConfServices.m_tabbedModules Synchronized 83% of the time Unsynchronized access at JAPConfServices.java:[line 191] Synchronized access at JAPConfServices.java:[line 110] Synchronized access at JAPConfServices.java:[line 120] Synchronized access at JAPConfServices.java:[line 124] Synchronized access at JAPConfServices.java:[line 126] Synchronized access at JAPConfServices.java:[line 129]
IS | Inconsistent synchronization of jap.JAPConfServices.m_tabsAnon; locked 87% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.JAPConfServices Field jap.JAPConfServices.m_tabsAnon Synchronized 87% of the time Unsynchronized access at JAPConfServices.java:[line 191] Synchronized access at JAPConfServices.java:[line 109] Synchronized access at JAPConfServices.java:[line 119] Synchronized access at JAPConfServices.java:[line 123] Synchronized access at JAPConfServices.java:[line 125] Synchronized access at JAPConfServices.java:[line 128] Synchronized access at JAPConfServices.java:[line 130] Synchronized access at JAPConfServices.java:[line 310]
IS | Inconsistent synchronization of jap.JAPController.m_iStatusPanelMsgIdForwarderServerStatus; locked 83% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.JAPController Field jap.JAPController.m_iStatusPanelMsgIdForwarderServerStatus Synchronized 83% of the time Unsynchronized access at JAPController.java:[line 4177] Synchronized access at JAPController.java:[line 4112] Synchronized access at JAPController.java:[line 4115] Synchronized access at JAPController.java:[line 4116] Synchronized access at JAPController.java:[line 4205] Synchronized access at JAPController.java:[line 4190]
IS | Inconsistent synchronization of jap.JAPController.m_nrOfBytesOther; locked 75% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.JAPController Field jap.JAPController.m_nrOfBytesOther Synchronized 75% of the time Unsynchronized access at JAPController.java:[line 4371] Synchronized access at JAPController.java:[line 3984] Synchronized access at JAPController.java:[line 3984] Synchronized access at JAPController.java:[line 3985]
IS | Inconsistent synchronization of jap.JAPController.m_nrOfBytesWWW; locked 75% of time
| Bug type IS2_INCONSISTENT_SYNC (click for details) In class jap.JAPController Field jap.JAPController.m_nrOfBytesWWW Synchronized 75% of the time Unsynchronized access at JAPController.java:[line 4370] Synchronized access at JAPController.java:[line 3979] Synchronized access at JAPController.java:[line 3979] Synchronized access at JAPController.java:[line 3980]
ML | anon.client.replay.TimestampUpdater.TimestampUpdater(MixParameters[], ReplayControlChannel) synchronizes on updated field TimestampUpdater.m_internalSynchronization
| Bug type ML_SYNC_ON_UPDATED_FIELD (click for details) In class anon.client.replay.TimestampUpdater In method anon.client.replay.TimestampUpdater.TimestampUpdater(MixParameters[], ReplayControlChannel) Field anon.client.replay.TimestampUpdater.m_internalSynchronization At TimestampUpdater.java:[line 61]
ML | captcha.graphics.RgbMemoryImageConsumer.RgbMemoryImageConsumer(ImageProducer) synchronizes on updated field RgbMemoryImageConsumer.m_productionLock
| Bug type ML_SYNC_ON_UPDATED_FIELD (click for details) In class captcha.graphics.RgbMemoryImageConsumer In method captcha.graphics.RgbMemoryImageConsumer.RgbMemoryImageConsumer(ImageProducer) Field captcha.graphics.RgbMemoryImageConsumer.m_productionLock At RgbMemoryImageConsumer.java:[line 85]
ML | gui.dialog.CaptchaContentPane.gotCaptcha(ICaptchaSender, IImageEncodedCaptcha) synchronizes on updated field CaptchaContentPane.m_syncObject
| Bug type ML_SYNC_ON_UPDATED_FIELD (click for details) In class gui.dialog.CaptchaContentPane In method gui.dialog.CaptchaContentPane.gotCaptcha(ICaptchaSender, IImageEncodedCaptcha) Field gui.dialog.CaptchaContentPane.m_syncObject At CaptchaContentPane.java:[line 201]
MWN | Mismatched notify() in anon.client.crypto.KeyPool.getKey(byte[], int)
| Bug type MWN_MISMATCHED_NOTIFY (click for details) In class anon.client.crypto.KeyPool In method anon.client.crypto.KeyPool.getKey(byte[], int) At KeyPool.java:[line 193]
MWN | Mismatched wait() in anon.client.crypto.KeyPool.getKey(byte[], int)
| Bug type MWN_MISMATCHED_WAIT (click for details) In class anon.client.crypto.KeyPool In method anon.client.crypto.KeyPool.getKey(byte[], int) At KeyPool.java:[line 170]
MWN | Mismatched wait() in infoservice.agreement.multicast.MessageHandlerThread.run()
| Bug type MWN_MISMATCHED_WAIT (click for details) In class infoservice.agreement.multicast.MessageHandlerThread In method infoservice.agreement.multicast.MessageHandlerThread.run() At MessageHandlerThread.java:[line 85]
MWN | Mismatched notify() in jap.AbstractDatabaseUpdater.stop()
| Bug type MWN_MISMATCHED_NOTIFY (click for details) In class jap.AbstractDatabaseUpdater In method jap.AbstractDatabaseUpdater.stop() At AbstractDatabaseUpdater.java:[line 322]
MWN | Mismatched wait() in jap.JAPController$22.run()
| Bug type MWN_MISMATCHED_WAIT (click for details) In class jap.JAPController$22 In method jap.JAPController$22.run() At JAPController.java:[line 3450]
NN | Naked notify in anon.client.Multiplexer.sendPacket(MixPacket)
| Bug type NN_NAKED_NOTIFY (click for details) In class anon.client.Multiplexer In method anon.client.Multiplexer.sendPacket(MixPacket) At Multiplexer.java:[line 129]
NN | Naked notify in anon.client.SequentialChannelDataChain.run()
| Bug type NN_NAKED_NOTIFY (click for details) In class anon.client.SequentialChannelDataChain In method anon.client.SequentialChannelDataChain.run() At SequentialChannelDataChain.java:[line 376]
NN | Naked notify in update.JAPUpdateWizard$JapDownloadManager.run()
| Bug type NN_NAKED_NOTIFY (click for details) In class update.JAPUpdateWizard$JapDownloadManager In method update.JAPUpdateWizard$JapDownloadManager.run() At JAPUpdateWizard.java:[line 518]
SC | anon.client.AbstractDataChain.AbstractDataChain(IDataChannelCreator, DataChainErrorListener) invokes java.lang.Thread.start()
| Bug type SC_START_IN_CTOR (click for details) In class anon.client.AbstractDataChain In method anon.client.AbstractDataChain.AbstractDataChain(IDataChannelCreator, DataChainErrorListener) Called method java.lang.Thread.start() At AbstractDataChain.java:[line 314]
SC | anon.client.Multiplexer.Multiplexer(InputStream, OutputStream, KeyExchangeManager, SecureRandom) invokes java.lang.Thread.start()
| Bug type SC_START_IN_CTOR (click for details) In class anon.client.Multiplexer In method anon.client.Multiplexer.Multiplexer(InputStream, OutputStream, KeyExchangeManager, SecureRandom) Called method java.lang.Thread.start() At Multiplexer.java:[line 81]
SC | anon.util.JobQueue.JobQueue(String) invokes java.lang.Thread.start()
| Bug type SC_START_IN_CTOR (click for details) In class anon.util.JobQueue In method anon.util.JobQueue.JobQueue(String) Called method java.lang.Thread.start() At JobQueue.java:[line 140]
SC | forward.server.ForwardConnection.ForwardConnection(Socket, ForwardScheduler) invokes java.lang.Thread.start()
| Bug type SC_START_IN_CTOR (click for details) In class forward.server.ForwardConnection In method forward.server.ForwardConnection.ForwardConnection(Socket, ForwardScheduler) Called method java.lang.Thread.start() At ForwardConnection.java:[line 328]
SC | forward.server.ForwardConnection.ForwardConnection(Socket, ForwardScheduler) invokes java.lang.Thread.start()
| Bug type SC_START_IN_CTOR (click for details) In class forward.server.ForwardConnection In method forward.server.ForwardConnection.ForwardConnection(Socket, ForwardScheduler) Called method java.lang.Thread.start() At ForwardConnection.java:[line 329]
SC | forward.server.ForwardConnection.ForwardConnection(Socket, ForwardScheduler) invokes java.lang.Thread.start()
| Bug type SC_START_IN_CTOR (click for details) In class forward.server.ForwardConnection In method forward.server.ForwardConnection.ForwardConnection(Socket, ForwardScheduler) Called method java.lang.Thread.start() At ForwardConnection.java:[line 330]
SC | forward.server.ForwardScheduler.ForwardScheduler() invokes java.lang.Thread.start()
| Bug type SC_START_IN_CTOR (click for details) In class forward.server.ForwardScheduler In method forward.server.ForwardScheduler.ForwardScheduler() Called method java.lang.Thread.start() At ForwardScheduler.java:[line 108]
SC | forward.server.ServerSocketPropagandist.ServerSocketPropagandist(int, InfoServiceDBEntry) invokes java.lang.Thread.start()
| Bug type SC_START_IN_CTOR (click for details) In class forward.server.ServerSocketPropagandist In method forward.server.ServerSocketPropagandist.ServerSocketPropagandist(int, InfoServiceDBEntry) Called method java.lang.Thread.start() At ServerSocketPropagandist.java:[line 184]
SC | infoservice.agreement.multicast.InfoserviceEMCAdapter.InfoserviceEMCAdapter() invokes infoservice.agreement.multicast.InfoserviceEMCAdapter$1.start()
| Bug type SC_START_IN_CTOR (click for details) In class infoservice.agreement.multicast.InfoserviceEMCAdapter In method infoservice.agreement.multicast.InfoserviceEMCAdapter.InfoserviceEMCAdapter() Called method infoservice.agreement.multicast.InfoserviceEMCAdapter$1.start() At InfoserviceEMCAdapter.java:[line 152]
SC | infoservice.agreement.paxos.integration.InfoServicePaxosAdapter.InfoServicePaxosAdapter() invokes infoservice.agreement.paxos.integration.InfoServicePaxosAdapter$1.start()
| Bug type SC_START_IN_CTOR (click for details) In class infoservice.agreement.paxos.integration.InfoServicePaxosAdapter In method infoservice.agreement.paxos.integration.InfoServicePaxosAdapter.InfoServicePaxosAdapter() Called method infoservice.agreement.paxos.integration.InfoServicePaxosAdapter$1.start() At InfoServicePaxosAdapter.java:[line 108]
SC | infoservice.agreement.paxos.integration.PaxosAdapter.PaxosAdapter() invokes infoservice.agreement.paxos.integration.PaxosAdapter$AgreementStarterThread.start()
| Bug type SC_START_IN_CTOR (click for details) In class infoservice.agreement.paxos.integration.PaxosAdapter In method infoservice.agreement.paxos.integration.PaxosAdapter.PaxosAdapter() Called method infoservice.agreement.paxos.integration.PaxosAdapter$AgreementStarterThread.start() At PaxosAdapter.java:[line 83]
SC | infoservice.agreement.paxos.PaxosRound.PaxosRound(PaxosExecution, int, String) invokes infoservice.agreement.common.TimeoutThread.start()
| Bug type SC_START_IN_CTOR (click for details) In class infoservice.agreement.paxos.PaxosRound In method infoservice.agreement.paxos.PaxosRound.PaxosRound(PaxosExecution, int, String) Called method infoservice.agreement.common.TimeoutThread.start() At PaxosRound.java:[line 101]
SC | infoservice.InfoServiceDistributor.InfoServiceDistributor() invokes java.lang.Thread.start()
| Bug type SC_START_IN_CTOR (click for details) In class infoservice.InfoServiceDistributor In method infoservice.InfoServiceDistributor.InfoServiceDistributor() Called method java.lang.Thread.start() At InfoServiceDistributor.java:[line 161]
SC | infoservice.InfoServiceDistributor.InfoServiceDistributor() invokes java.lang.Thread.start()
| Bug type SC_START_IN_CTOR (click for details) In class infoservice.InfoServiceDistributor In method infoservice.InfoServiceDistributor.InfoServiceDistributor() Called method java.lang.Thread.start() At InfoServiceDistributor.java:[line 267]
SC | infoservice.mailsystem.central.server.ConnectionHandle.ConnectionHandle(Socket, IServerImplementationFactory) invokes java.lang.Thread.start()
| Bug type SC_START_IN_CTOR (click for details) In class infoservice.mailsystem.central.server.ConnectionHandle In method infoservice.mailsystem.central.server.ConnectionHandle.ConnectionHandle(Socket, IServerImplementationFactory) Called method java.lang.Thread.start() At ConnectionHandle.java:[line 68]
SC | infoservice.mailsystem.central.server.ConnectionHandle.ConnectionHandle(Socket, IServerImplementationFactory) invokes java.lang.Thread.start()
| Bug type SC_START_IN_CTOR (click for details) In class infoservice.mailsystem.central.server.ConnectionHandle In method infoservice.mailsystem.central.server.ConnectionHandle.ConnectionHandle(Socket, IServerImplementationFactory) Called method java.lang.Thread.start() At ConnectionHandle.java:[line 102]
SC | jap.StatusPanel.StatusPanel() invokes java.lang.Thread.start()
| Bug type SC_START_IN_CTOR (click for details) In class jap.StatusPanel In method jap.StatusPanel.StatusPanel() Called method java.lang.Thread.start() At StatusPanel.java:[line 136]
STCAL | Call to method of static java.text.DateFormat in anon.tor.ordescription.ORList.parseStatus(byte[], boolean)
| Bug type STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE (click for details) In class anon.tor.ordescription.ORList In method anon.tor.ordescription.ORList.parseStatus(byte[], boolean) Called method java.text.DateFormat.parse(String) Field anon.tor.ordescription.ORList.ms_DateFormat At ORList.java:[line 346]
STCAL | Found static field of type java.text.DateFormat in anon.tor.ordescription.ORList.ms_DateFormat
| Bug type STCAL_STATIC_SIMPLE_DATA_FORMAT_INSTANCE (click for details) In class anon.tor.ordescription.ORList Field anon.tor.ordescription.ORList.ms_DateFormat In ORList.java
STCAL | Call to method of static java.text.DateFormat in infoservice.Configuration.Configuration(Properties)
| Bug type STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE (click for details) In class infoservice.Configuration In method infoservice.Configuration.Configuration(Properties) Called method java.text.SimpleDateFormat.setTimeZone(TimeZone) Field infoservice.Configuration.ms_httpDateFormat At Configuration.java:[line 770]
STCAL | Found static field of type java.text.DateFormat in infoservice.Configuration.ms_httpDateFormat
| Bug type STCAL_STATIC_SIMPLE_DATA_FORMAT_INSTANCE (click for details) In class infoservice.Configuration Field infoservice.Configuration.ms_httpDateFormat In Configuration.java
STCAL | Found static field of type java.text.DateFormat in jap.JAPDebug.dateFormatter
| Bug type STCAL_STATIC_SIMPLE_DATA_FORMAT_INSTANCE (click for details) In class jap.JAPDebug Field jap.JAPDebug.dateFormatter In JAPDebug.java
STCAL | Call to method of static java.text.DateFormat in proxy.DirectProxyConnection.handleFTP()
| Bug type STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE (click for details) In class proxy.DirectProxyConnection In method proxy.DirectProxyConnection.handleFTP() Called method java.text.DateFormat.format(Date) Field proxy.DirectProxyConnection.m_DateFormat At DirectProxyConnection.java:[line 538]
STCAL | Found static field of type java.text.DateFormat in proxy.DirectProxyConnection.m_DateFormat
| Bug type STCAL_STATIC_SIMPLE_DATA_FORMAT_INSTANCE (click for details) In class proxy.DirectProxyConnection Field proxy.DirectProxyConnection.m_DateFormat In DirectProxyConnection.java
SWL | anon.tor.Tor.stop() calls Thread.sleep() with a lock held
| Bug type SWL_SLEEP_WITH_LOCK_HELD (click for details) In class anon.tor.Tor In method anon.tor.Tor.stop() At Tor.java:[line 611]
SWL | gui.dialog.WorkerContentPane$WorkerComponentListener.run() calls Thread.sleep() with a lock held
| Bug type SWL_SLEEP_WITH_LOCK_HELD (click for details) In class gui.dialog.WorkerContentPane$WorkerComponentListener In method gui.dialog.WorkerContentPane$WorkerComponentListener.run() At WorkerContentPane.java:[line 266]
SWL | jap.JAPController$SetAnonModeAsync.setServerMode(boolean) calls Thread.sleep() with a lock held
| Bug type SWL_SLEEP_WITH_LOCK_HELD (click for details) In class jap.JAPController$SetAnonModeAsync In method jap.JAPController$SetAnonModeAsync.setServerMode(boolean) At JAPController.java:[line 3014]
TLW | wait() with two locks held in anon.client.SequentialChannelDataChain.orderPacketInternal(DataChainSendOrderStructure, boolean, boolean)
| Bug type TLW_TWO_LOCK_WAIT (click for details) In class anon.client.SequentialChannelDataChain In method anon.client.SequentialChannelDataChain.orderPacketInternal(DataChainSendOrderStructure, boolean, boolean) At SequentialChannelDataChain.java:[line 427] Possible deadlock during notification at SequentialChannelDataChain.java:[line 393] Possible deadlock during notification at SequentialChannelDataChain.java:[line 445]
TLW | wait() with two locks held in jap.AbstractDatabaseUpdater.start(boolean)
| Bug type TLW_TWO_LOCK_WAIT (click for details) In class jap.AbstractDatabaseUpdater In method jap.AbstractDatabaseUpdater.start(boolean) At AbstractDatabaseUpdater.java:[line 227] Possible deadlock during notification at AbstractDatabaseUpdater.java:[line 222] Possible deadlock during notification at AbstractDatabaseUpdater.java:[line 284]
TLW | wait() with two locks held in jap.AbstractDatabaseUpdater.update(boolean)
| Bug type TLW_TWO_LOCK_WAIT (click for details) In class jap.AbstractDatabaseUpdater In method jap.AbstractDatabaseUpdater.update(boolean) At AbstractDatabaseUpdater.java:[line 289] Possible deadlock during notification at AbstractDatabaseUpdater.java:[line 222] Possible deadlock during notification at AbstractDatabaseUpdater.java:[line 284]
UG | anon.infoservice.InfoServiceHolder.getPreferredInfoService() is unsynchronized, anon.infoservice.InfoServiceHolder.setPreferredInfoService(InfoServiceDBEntry) is synchronized
| Bug type UG_SYNC_SET_UNSYNC_GET (click for details) In class anon.infoservice.InfoServiceHolder In method anon.infoservice.InfoServiceHolder.getPreferredInfoService() In method anon.infoservice.InfoServiceHolder.setPreferredInfoService(InfoServiceDBEntry) At InfoServiceHolder.java:[line 230]
UG | anon.pay.xml.XMLEasyCC.getPIID() is unsynchronized, anon.pay.xml.XMLEasyCC.setPIID(String) is synchronized
| Bug type UG_SYNC_SET_UNSYNC_GET (click for details) In class anon.pay.xml.XMLEasyCC In method anon.pay.xml.XMLEasyCC.getPIID() In method anon.pay.xml.XMLEasyCC.setPIID(String) At XMLEasyCC.java:[line 218]
UG | anon.pay.xml.XMLEasyCC.getTransferredBytes() is unsynchronized, anon.pay.xml.XMLEasyCC.setTransferredBytes(long) is synchronized
| Bug type UG_SYNC_SET_UNSYNC_GET (click for details) In class anon.pay.xml.XMLEasyCC In method anon.pay.xml.XMLEasyCC.getTransferredBytes() In method anon.pay.xml.XMLEasyCC.setTransferredBytes(long) At XMLEasyCC.java:[line 264]
UG | gui.dialog.DialogContentPane.getText() is unsynchronized, gui.dialog.DialogContentPane.setText(String) is synchronized
| Bug type UG_SYNC_SET_UNSYNC_GET (click for details) In class gui.dialog.DialogContentPane In method gui.dialog.DialogContentPane.getText() In method gui.dialog.DialogContentPane.setText(String) At DialogContentPane.java:[line 2026]
UG | jap.JAPMixCascadeComboBox.getMixCascade() is unsynchronized, jap.JAPMixCascadeComboBox.setMixCascade(MixCascade) is synchronized
| Bug type UG_SYNC_SET_UNSYNC_GET (click for details) In class jap.JAPMixCascadeComboBox In method jap.JAPMixCascadeComboBox.getMixCascade() In method jap.JAPMixCascadeComboBox.setMixCascade(MixCascade) At JAPMixCascadeComboBox.java:[line 86]
UW | Unconditional wait in anon.client.crypto.KeyPool.getKey(byte[], int)
| Bug type UW_UNCOND_WAIT (click for details) In class anon.client.crypto.KeyPool In method anon.client.crypto.KeyPool.getKey(byte[], int) At KeyPool.java:[line 170]
UW | Unconditional wait in anon.client.crypto.KeyPool.run()
| Bug type UW_UNCOND_WAIT (click for details) In class anon.client.crypto.KeyPool In method anon.client.crypto.KeyPool.run() At KeyPool.java:[line 141]
UW | Unconditional wait in anon.util.ThreadPool.addRequestAndWait(Runnable)
| Bug type UW_UNCOND_WAIT (click for details) In class anon.util.ThreadPool In method anon.util.ThreadPool.addRequestAndWait(Runnable) At ThreadPool.java:[line 203]
UW | Unconditional wait in gui.dialog.CaptchaContentPane.gotCaptcha(ICaptchaSender, IImageEncodedCaptcha)
| Bug type UW_UNCOND_WAIT (click for details) In class gui.dialog.CaptchaContentPane In method gui.dialog.CaptchaContentPane.gotCaptcha(ICaptchaSender, IImageEncodedCaptcha) At CaptchaContentPane.java:[line 205]
UW | Unconditional wait in infoservice.agreement.multicast.MessageHandlerThread.run()
| Bug type UW_UNCOND_WAIT (click for details) In class infoservice.agreement.multicast.MessageHandlerThread In method infoservice.agreement.multicast.MessageHandlerThread.run() At MessageHandlerThread.java:[line 85]
UW | Unconditional wait in infoservice.mailsystem.central.MailSystem.main(String[])
| Bug type UW_UNCOND_WAIT (click for details) In class infoservice.mailsystem.central.MailSystem In method infoservice.mailsystem.central.MailSystem.main(String[]) At MailSystem.java:[line 78]
UW | Unconditional wait in misc.AnonProxyTest.main(String[])
| Bug type UW_UNCOND_WAIT (click for details) In class misc.AnonProxyTest In method misc.AnonProxyTest.main(String[]) At AnonProxyTest.java:[line 65]
UW | Unconditional wait in update.JAPUpdateWizard.downloadUpdate()
| Bug type UW_UNCOND_WAIT (click for details) In class update.JAPUpdateWizard In method update.JAPUpdateWizard.downloadUpdate() At JAPUpdateWizard.java:[line 639]
Wa | Wait not in loop in anon.client.AbstractDataChain$DataChainInputStreamImplementation.read(byte[], int, int)
| Bug type WA_NOT_IN_LOOP (click for details) In class anon.client.AbstractDataChain$DataChainInputStreamImplementation In method anon.client.AbstractDataChain$DataChainInputStreamImplementation.read(byte[], int, int) At AbstractDataChain.java:[line 182]
Wa | Wait not in loop in anon.client.AbstractDataChain$DataChainOutputStreamImplementation.write(byte[], int, int)
| Bug type WA_NOT_IN_LOOP (click for details) In class anon.client.AbstractDataChain$DataChainOutputStreamImplementation In method anon.client.AbstractDataChain$DataChainOutputStreamImplementation.write(byte[], int, int) At AbstractDataChain.java:[line 103]
Wa | Wait not in loop in anon.client.crypto.KeyPool.getKey(byte[], int)
| Bug type WA_NOT_IN_LOOP (click for details) In class anon.client.crypto.KeyPool In method anon.client.crypto.KeyPool.getKey(byte[], int) At KeyPool.java:[line 170]
Wa | Wait not in loop in anon.client.Multiplexer.sendPacket(MixPacket)
| Bug type WA_NOT_IN_LOOP (click for details) In class anon.client.Multiplexer In method anon.client.Multiplexer.sendPacket(MixPacket) At Multiplexer.java:[line 103]
Wa | Wait not in loop in anon.client.SequentialChannelDataChain.orderPacketInternal(DataChainSendOrderStructure, boolean, boolean)
| Bug type WA_NOT_IN_LOOP (click for details) In class anon.client.SequentialChannelDataChain In method anon.client.SequentialChannelDataChain.orderPacketInternal(DataChainSendOrderStructure, boolean, boolean) At SequentialChannelDataChain.java:[line 427]
Wa | Wait not in loop in anon.client.UnlimitedDataChannel.organizeChannelClose()
| Bug type WA_NOT_IN_LOOP (click for details) In class anon.client.UnlimitedDataChannel In method anon.client.UnlimitedDataChannel.organizeChannelClose() At UnlimitedDataChannel.java:[line 73]
Wa | Wait not in loop in anon.util.CondVar.cvTimedWait(BusyFlag, int)
| Bug type WA_NOT_IN_LOOP (click for details) In class anon.util.CondVar In method anon.util.CondVar.cvTimedWait(BusyFlag, int) At CondVar.java:[line 85]
Wa | Wait not in loop in anon.util.ThreadPool.addRequestAndWait(Runnable)
| Bug type WA_NOT_IN_LOOP (click for details) In class anon.util.ThreadPool In method anon.util.ThreadPool.addRequestAndWait(Runnable) At ThreadPool.java:[line 203]
Wa | Wait not in loop in captcha.graphics.RgbMemoryImageConsumer.RgbMemoryImageConsumer(ImageProducer)
| Bug type WA_NOT_IN_LOOP (click for details) In class captcha.graphics.RgbMemoryImageConsumer In method captcha.graphics.RgbMemoryImageConsumer.RgbMemoryImageConsumer(ImageProducer) At RgbMemoryImageConsumer.java:[line 88]
Wa | Wait not in loop in gui.dialog.CaptchaContentPane.gotCaptcha(ICaptchaSender, IImageEncodedCaptcha)
| Bug type WA_NOT_IN_LOOP (click for details) In class gui.dialog.CaptchaContentPane In method gui.dialog.CaptchaContentPane.gotCaptcha(ICaptchaSender, IImageEncodedCaptcha) At CaptchaContentPane.java:[line 205]
Wa | Wait not in loop in infoservice.mailsystem.central.MailSystem.main(String[])
| Bug type WA_NOT_IN_LOOP (click for details) In class infoservice.mailsystem.central.MailSystem In method infoservice.mailsystem.central.MailSystem.main(String[]) At MailSystem.java:[line 78]
Wa | Wait not in loop in jap.AbstractDatabaseUpdater.start(boolean)
| Bug type WA_NOT_IN_LOOP (click for details) In class jap.AbstractDatabaseUpdater In method jap.AbstractDatabaseUpdater.start(boolean) At AbstractDatabaseUpdater.java:[line 227]
Wa | Wait not in loop in jap.AbstractDatabaseUpdater.update(boolean)
| Bug type WA_NOT_IN_LOOP (click for details) In class jap.AbstractDatabaseUpdater In method jap.AbstractDatabaseUpdater.update(boolean) At AbstractDatabaseUpdater.java:[line 289]
Wa | Wait not in loop in jap.forward.JAPRoutingSettings.setRoutingMode(int)
| Bug type WA_NOT_IN_LOOP (click for details) In class jap.forward.JAPRoutingSettings In method jap.forward.JAPRoutingSettings.setRoutingMode(int) At JAPRoutingSettings.java:[line 372]
Wa | Wait not in loop in jap.forward.JAPRoutingSettings.startPropaganda(boolean)
| Bug type WA_NOT_IN_LOOP (click for details) In class jap.forward.JAPRoutingSettings In method jap.forward.JAPRoutingSettings.startPropaganda(boolean) At JAPRoutingSettings.java:[line 996]
Wa | Wait not in loop in jap.JAPNewView$31.run()
| Bug type WA_NOT_IN_LOOP (click for details) In class jap.JAPNewView$31 In method jap.JAPNewView$31.run() At JAPNewView.java:[line 2114]
Wa | Wait not in loop in misc.AnonProxyTest.main(String[])
| Bug type WA_NOT_IN_LOOP (click for details) In class misc.AnonProxyTest In method misc.AnonProxyTest.main(String[]) At AnonProxyTest.java:[line 65]
Wa | Wait not in loop in update.JAPUpdateWizard.downloadUpdate()
| Bug type WA_NOT_IN_LOOP (click for details) In class update.JAPUpdateWizard In method update.JAPUpdateWizard.downloadUpdate() At JAPUpdateWizard.java:[line 639]

## Performance Warnings

Code&nbsp; | Warning
--- | ---
Dm | anon.crypto.CertPath.toString() invokes inefficient new String(String) constructor
| Bug type DM_STRING_CTOR (click for details) In class anon.crypto.CertPath In method anon.crypto.CertPath.toString() At CertPath.java:[line 409]
Dm | anon.crypto.CertPath.toString() invokes inefficient new String() constructor
| Bug type DM_STRING_VOID_CTOR (click for details) In class anon.crypto.CertPath In method anon.crypto.CertPath.toString() At CertPath.java:[line 410]
Dm | anon.crypto.XMLSignature.signInternal(Node, IMyPrivateKey) invokes inefficient new String(String) constructor
| Bug type DM_STRING_CTOR (click for details) In class anon.crypto.XMLSignature In method anon.crypto.XMLSignature.signInternal(Node, IMyPrivateKey) At XMLSignature.java:[line 320]
Dm | anon.mixminion.fec.Pure16Code.toString() invokes inefficient new String(String) constructor
| Bug type DM_STRING_CTOR (click for details) In class anon.mixminion.fec.Pure16Code In method anon.mixminion.fec.Pure16Code.toString() At Pure16Code.java:[line 172]
Dm | anon.mixminion.fec.PureCode.toString() invokes inefficient new String(String) constructor
| Bug type DM_STRING_CTOR (click for details) In class anon.mixminion.fec.PureCode In method anon.mixminion.fec.PureCode.toString() At PureCode.java:[line 155]
Dm | anon.pay.PayAccount$1.readPassword(Object) invokes inefficient new String(String) constructor
| Bug type DM_STRING_CTOR (click for details) In class anon.pay.PayAccount$1 In method anon.pay.PayAccount$1.readPassword(Object) At PayAccount.java:[line 700]
Dm | anon.pay.xml.XMLPriceCertificate.toString() invokes inefficient new String(String) constructor
| Bug type DM_STRING_CTOR (click for details) In class anon.pay.xml.XMLPriceCertificate In method anon.pay.xml.XMLPriceCertificate.toString() At XMLPriceCertificate.java:[line 357]
Dm | anon.util.XMLUtil.formatHumanReadable(Node, int) invokes inefficient new String() constructor
| Bug type DM_STRING_VOID_CTOR (click for details) In class anon.util.XMLUtil In method anon.util.XMLUtil.formatHumanReadable(Node, int) At XMLUtil.java:[line 1478]
Dm | forward.server.ServerSocketPropagandist.announceNewForwarder() invokes inefficient new String(String) constructor
| Bug type DM_STRING_CTOR (click for details) In class forward.server.ServerSocketPropagandist In method forward.server.ServerSocketPropagandist.announceNewForwarder() At ServerSocketPropagandist.java:[line 424]
Dm | gui.CertDetailsDialog.drawDetailsPanel(JAPCertificate, boolean) invokes inefficient new String(String) constructor
| Bug type DM_STRING_CTOR (click for details) In class gui.CertDetailsDialog In method gui.CertDetailsDialog.drawDetailsPanel(JAPCertificate, boolean) At CertDetailsDialog.java:[line 777]
Dm | Method infoservice.agreement.multicast.messages.AMessage.getHashKey() invokes toString() method on a String
| Bug type DM_STRING_TOSTRING (click for details) In class infoservice.agreement.multicast.messages.AMessage In method infoservice.agreement.multicast.messages.AMessage.getHashKey() At AMessage.java:[line 146]
Dm | Method infoservice.agreement.multicast.messages.AMessage.toString() invokes toString() method on a String
| Bug type DM_STRING_TOSTRING (click for details) In class infoservice.agreement.multicast.messages.AMessage In method infoservice.agreement.multicast.messages.AMessage.toString() At AMessage.java:[line 308]
Dm | infoservice.agreement.multicast.messages.CommitmentMessage.deconcat(String) invokes inefficient new String() constructor
| Bug type DM_STRING_VOID_CTOR (click for details) In class infoservice.agreement.multicast.messages.CommitmentMessage In method infoservice.agreement.multicast.messages.CommitmentMessage.deconcat(String) At CommitmentMessage.java:[line 339]
Dm | infoservice.agreement.multicast.messages.CommitmentMessage.deconcatenate(String) invokes inefficient new String() constructor
| Bug type DM_STRING_VOID_CTOR (click for details) In class infoservice.agreement.multicast.messages.CommitmentMessage In method infoservice.agreement.multicast.messages.CommitmentMessage.deconcatenate(String) At CommitmentMessage.java:[line 160]
Dm | Method infoservice.agreement.multicast.messages.CommitMessage.getHashKey() invokes toString() method on a String
| Bug type DM_STRING_TOSTRING (click for details) In class infoservice.agreement.multicast.messages.CommitMessage In method infoservice.agreement.multicast.messages.CommitMessage.getHashKey() At CommitMessage.java:[line 98]
Dm | Method infoservice.agreement.multicast.messages.CommitMessage.toString() invokes toString() method on a String
| Bug type DM_STRING_TOSTRING (click for details) In class infoservice.agreement.multicast.messages.CommitMessage In method infoservice.agreement.multicast.messages.CommitMessage.toString() At CommitMessage.java:[line 149]
Dm | jap.JAPUtil.getCurrencyDelimiter(String) invokes inefficient new String(String) constructor
| Bug type DM_STRING_CTOR (click for details) In class jap.JAPUtil In method jap.JAPUtil.getCurrencyDelimiter(String) At JAPUtil.java:[line 194]
Dm | jap.pay.wizardnew.VolumePlanSelectionPane.getCurrency() invokes inefficient new String(String) constructor
| Bug type DM_STRING_CTOR (click for details) In class jap.pay.wizardnew.VolumePlanSelectionPane In method jap.pay.wizardnew.VolumePlanSelectionPane.getCurrency() At VolumePlanSelectionPane.java:[line 168]
Dm | jpi.db.DataBase.getOperatorInfo(String) invokes inefficient new String(String) constructor
| Bug type DM_STRING_CTOR (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getOperatorInfo(String) At DataBase.java:[line 1879]
SIC | Should anon.client.AbstractDataChain$DataChainInputStreamImplementation be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.client.AbstractDataChain$DataChainInputStreamImplementation At AbstractDataChain.java:[lines 144-301]
SIC | Should anon.client.crypto.FirstMixCipher$MixEncryptionHandler be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.client.crypto.FirstMixCipher$MixEncryptionHandler At FirstMixCipher.java:[lines 58-68]
SIC | Should anon.client.crypto.KeyPool$KeyList be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.client.crypto.KeyPool$KeyList At KeyPool.java:[lines 55-59]
SIC | Should anon.client.replay.ReplayControlChannel$MessageDistributor be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.client.replay.ReplayControlChannel$MessageDistributor At ReplayControlChannel.java:[lines 63-79]
SIC | Should anon.client.SequentialChannelDataChain$InvalidChainCellException be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.client.SequentialChannelDataChain$InvalidChainCellException At SequentialChannelDataChain.java:[lines 84-85]
SIC | Should anon.client.SequentialChannelDataChain$SendOrderProtocolData be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.client.SequentialChannelDataChain$SendOrderProtocolData At SequentialChannelDataChain.java:[lines 190-206]
SIC | Should anon.client.SingleChannelDataChain$InvalidChainCellException be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.client.SingleChannelDataChain$InvalidChainCellException At SingleChannelDataChain.java:[lines 62-63]
SIC | Should anon.crypto.X509DistinguishedName$IllegalCharacterException be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.crypto.X509DistinguishedName$IllegalCharacterException At X509DistinguishedName.java:[lines 510-531]
SIC | Should anon.proxy.AnonProxy$DummyMixCascadeContainer be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.proxy.AnonProxy$DummyMixCascadeContainer At AnonProxy.java:[lines 851-874]
SIC | Should anon.tor.CellQueue$CellQueueEntry be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.tor.CellQueue$CellQueueEntry At CellQueue.java:[lines 38-42]
SIC | Should anon.tor.ordescription.ORAcl$AclElement be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.tor.ordescription.ORAcl$AclElement At ORAcl.java:[lines 48-90]
SIC | Should anon.util.ResourceLoader$ByteArrayInstantiator be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.util.ResourceLoader$ByteArrayInstantiator At ResourceLoader.java:[lines 1182-1191]
SIC | Should anon.util.ResourceLoader$FileTypeInstantiator be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.util.ResourceLoader$FileTypeInstantiator At ResourceLoader.java:[lines 1199-1208]
SIC | Should anon.util.ThreadPool$ThreadPoolRequest be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class anon.util.ThreadPool$ThreadPoolRequest At ThreadPool.java:[lines 41-45]
SIC | Should gui.CertDetailsDialog$CertPathListCellRenderer be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class gui.CertDetailsDialog$CertPathListCellRenderer At CertDetailsDialog.java:[lines 1072-1199]
SIC | Should gui.dialog.CaptchaContentPane$MyDocument be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class gui.dialog.CaptchaContentPane$MyDocument At CaptchaContentPane.java:[lines 249-283]
SIC | Should gui.dialog.WorkerContentPane$InternalThread be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class gui.dialog.WorkerContentPane$InternalThread At WorkerContentPane.java:[lines 214-228]
SIC | Should gui.JAPProgressBar$MyProgressBarUI be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class gui.JAPProgressBar$MyProgressBarUI At JAPProgressBar.java:[lines 79-151]
SIC | Should jap.JAPConfAnon$MixCascadeCellRenderer be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class jap.JAPConfAnon$MixCascadeCellRenderer At JAPConfAnon.java:[lines 2554-2613]
SIC | Should jap.JAPConfAnon$TempCascade be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class jap.JAPConfAnon$TempCascade At JAPConfAnon.java:[lines 2166-2185]
SIC | Should jap.JAPConfMixminion$MyJTable be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class jap.JAPConfMixminion$MyJTable At JAPConfMixminion.java:[lines 84-88]
SIC | Should jap.JAPConfTor$MyJTable be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class jap.JAPConfTor$MyJTable At JAPConfTor.java:[lines 89-94]
SIC | Should jap.JAPConfUI$DialogFormat be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class jap.JAPConfUI$DialogFormat At JAPConfUI.java:[lines 589-602]
SIC | Should jap.JAPController$AutoSwitchedMixCascadeContainer be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class jap.JAPController$AutoSwitchedMixCascadeContainer At JAPController.java:[lines 4524-4718]
SIC | Should jap.JAPMixCascadeComboBox$JAPMixCascadeComboBoxModel be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class jap.JAPMixCascadeComboBox$JAPMixCascadeComboBoxModel At JAPMixCascadeComboBox.java:[lines 166-178]
SIC | Should jap.JAPNewView$ComponentMovedAdapter be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class jap.JAPNewView$ComponentMovedAdapter At JAPNewView.java:[lines 2751-2762]
SIC | Should jap.pay.AccountSettingsPanel$CustomRenderer be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class jap.pay.AccountSettingsPanel$CustomRenderer At AccountSettingsPanel.java:[lines 2633-2684]
SIC | Should jap.StatusPanel$MsgQueueEntry be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class jap.StatusPanel$MsgQueueEntry At StatusPanel.java:[lines 66-73]
SIC | Should jarify.JarManifest$EntryData be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class jarify.JarManifest$EntryData At JarManifest.java:[lines 53-57]
SIC | Should jpi.helper.ExternalChargeHelper$ExternalCharge be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class jpi.helper.ExternalChargeHelper$ExternalCharge At ExternalChargeHelper.java:[lines 145-227]
SIC | Should proxy.DirectProxy$SendAnonWarning be a _static_ inner class?
| Bug type SIC_INNER_SHOULD_BE_STATIC (click for details) In class proxy.DirectProxy$SendAnonWarning At DirectProxy.java:[lines 380-429]
SS | Unread field: anon.crypto.PKCS7SignedData.ID_DSA; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.crypto.PKCS7SignedData Field anon.crypto.PKCS7SignedData.ID_DSA At PKCS7SignedData.java:[line 71]
SS | Unread field: anon.crypto.PKCS7SignedData.ID_MD2; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.crypto.PKCS7SignedData Field anon.crypto.PKCS7SignedData.ID_MD2 At PKCS7SignedData.java:[line 68]
SS | Unread field: anon.crypto.PKCS7SignedData.ID_MD5; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.crypto.PKCS7SignedData Field anon.crypto.PKCS7SignedData.ID_MD5 At PKCS7SignedData.java:[line 67]
SS | Unread field: anon.crypto.PKCS7SignedData.ID_RSA; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.crypto.PKCS7SignedData Field anon.crypto.PKCS7SignedData.ID_RSA At PKCS7SignedData.java:[line 70]
SS | Unread field: anon.crypto.PKCS7SignedData.ID_SHA1; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.crypto.PKCS7SignedData Field anon.crypto.PKCS7SignedData.ID_SHA1 At PKCS7SignedData.java:[line 69]
SS | Unread field: anon.mixminion.message.Decoder.KEY_LEN; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.mixminion.message.Decoder Field anon.mixminion.message.Decoder.KEY_LEN At Decoder.java:[line 48]
SS | Unread field: anon.mixminion.message.Decoder.MAXHOPS; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.mixminion.message.Decoder Field anon.mixminion.message.Decoder.MAXHOPS At Decoder.java:[line 49]
SS | Unread field: anon.mixminion.message.Decoder.PACKETSIZE; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.mixminion.message.Decoder Field anon.mixminion.message.Decoder.PACKETSIZE At Decoder.java:[line 50]
SS | Unread field: anon.mixminion.message.Header.HASH_LEN; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.mixminion.message.Header Field anon.mixminion.message.Header.HASH_LEN At Header.java:[line 55]
SS | Unread field: anon.mixminion.message.Header.HEADER_LEN; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.mixminion.message.Header Field anon.mixminion.message.Header.HEADER_LEN At Header.java:[line 49]
SS | Unread field: anon.mixminion.message.Header.MIN_SH; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.mixminion.message.Header Field anon.mixminion.message.Header.MIN_SH At Header.java:[line 56]
SS | Unread field: anon.mixminion.message.Header.MIN_SUBHEADER_LEN; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.mixminion.message.Header Field anon.mixminion.message.Header.MIN_SUBHEADER_LEN At Header.java:[line 51]
SS | Unread field: anon.mixminion.message.Header.OAEP_OVERHEAD; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.mixminion.message.Header Field anon.mixminion.message.Header.OAEP_OVERHEAD At Header.java:[line 50]
SS | Unread field: anon.mixminion.message.Header.PK_ENC_LEN; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.mixminion.message.Header Field anon.mixminion.message.Header.PK_ENC_LEN At Header.java:[line 52]
SS | Unread field: anon.mixminion.message.Header.PK_MAX_DATA_LEN; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.mixminion.message.Header Field anon.mixminion.message.Header.PK_MAX_DATA_LEN At Header.java:[line 54]
SS | Unread field: anon.mixminion.message.Header.PK_OVERHEAD_LEN; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.mixminion.message.Header Field anon.mixminion.message.Header.PK_OVERHEAD_LEN At Header.java:[line 53]
SS | Unread field: anon.mixminion.message.Keyring.KEY_LEN; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class anon.mixminion.message.Keyring Field anon.mixminion.message.Keyring.KEY_LEN At Keyring.java:[line 47]
SS | Unread field: gui.JAPDll$MyFileFilter.ACCOUNT_DESCRIPTION; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class gui.JAPDll$MyFileFilter Field gui.JAPDll$MyFileFilter.ACCOUNT_DESCRIPTION At JAPDll.java:[line 731]
SS | Unread field: jap.pay.AccountSettingsPanel$MyFileFilter.ACCOUNT_DESCRIPTION; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class jap.pay.AccountSettingsPanel$MyFileFilter Field jap.pay.AccountSettingsPanel$MyFileFilter.ACCOUNT_DESCRIPTION At AccountSettingsPanel.java:[line 2218]
SS | Unread field: jap.pay.PaymentMainPanel.WARNING_AMOUNT; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class jap.pay.PaymentMainPanel Field jap.pay.PaymentMainPanel.WARNING_AMOUNT At PaymentMainPanel.java:[line 80]
SS | Unread field: update.JAPWelcomeWizardPage.COMMAND_SEARCH; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class update.JAPWelcomeWizardPage Field update.JAPWelcomeWizardPage.COMMAND_SEARCH At JAPWelcomeWizardPage.java:[line 63]
SS | Unread field: update.JarFileFilter.jarExtension; should this field be static?
| Bug type SS_SHOULD_BE_STATIC (click for details) In class update.JarFileFilter Field update.JarFileFilter.jarExtension At JarFileFilter.java:[line 38]
UrF | Unread field: anon.client.SequentialChannelDataChain.m_chainTimeout
| Bug type URF_UNREAD_FIELD (click for details) In class anon.client.SequentialChannelDataChain Field anon.client.SequentialChannelDataChain.m_chainTimeout At SequentialChannelDataChain.java:[line 217]
UrF | Unread field: anon.crypto.MyDSASignature.m_initKey
| Bug type URF_UNREAD_FIELD (click for details) In class anon.crypto.MyDSASignature Field anon.crypto.MyDSASignature.m_initKey At MyDSASignature.java:[line 94]
UrF | Unread field: anon.crypto.MyRSASignature.m_initKey
| Bug type URF_UNREAD_FIELD (click for details) In class anon.crypto.MyRSASignature Field anon.crypto.MyRSASignature.m_initKey At MyRSASignature.java:[line 81]
UrF | Unread field: anon.crypto.tinytls.ciphersuites.CipherSuite.m_servercertificate
| Bug type URF_UNREAD_FIELD (click for details) In class anon.crypto.tinytls.ciphersuites.CipherSuite Field anon.crypto.tinytls.ciphersuites.CipherSuite.m_servercertificate At CipherSuite.java:[line 59]
UrF | Unread field: anon.crypto.tinytls.TinyTLSServer.m_Certificate
| Bug type URF_UNREAD_FIELD (click for details) In class anon.crypto.tinytls.TinyTLSServer Field anon.crypto.tinytls.TinyTLSServer.m_Certificate At TinyTLSServer.java:[line 19]
UrF | Unread field: anon.crypto.tinytls.TinyTLSServer.m_PrivateKey
| Bug type URF_UNREAD_FIELD (click for details) In class anon.crypto.tinytls.TinyTLSServer Field anon.crypto.tinytls.TinyTLSServer.m_PrivateKey At TinyTLSServer.java:[line 20]
UrF | Unread field: anon.infoservice.test.DummyHTTPConnection.m_actualLocalAddress
| Bug type URF_UNREAD_FIELD (click for details) In class anon.infoservice.test.DummyHTTPConnection Field anon.infoservice.test.DummyHTTPConnection.m_actualLocalAddress At DummyHTTPConnection.java:[line 93]
UrF | Unread field: anon.infoservice.test.DummyHTTPConnection.m_actualLocalPort
| Bug type URF_UNREAD_FIELD (click for details) In class anon.infoservice.test.DummyHTTPConnection Field anon.infoservice.test.DummyHTTPConnection.m_actualLocalPort At DummyHTTPConnection.java:[line 94]
UrF | Unread field: anon.mixminion.message.Message.EXP_FACTOR
| Bug type URF_UNREAD_FIELD (click for details) In class anon.mixminion.message.Message Field anon.mixminion.message.Message.EXP_FACTOR At Message.java:[line 66]
UrF | Unread field: anon.mixminion.message.Message.MAX_FRAGMENTS_PER_CHUNK
| Bug type URF_UNREAD_FIELD (click for details) In class anon.mixminion.message.Message Field anon.mixminion.message.Message.MAX_FRAGMENTS_PER_CHUNK At Message.java:[line 65]
UrF | Unread field: anon.pay.AIControlChannel.m_diff
| Bug type URF_UNREAD_FIELD (click for details) In class anon.pay.AIControlChannel Field anon.pay.AIControlChannel.m_diff At AIControlChannel.java:[line 93]
UrF | Unread field: anon.pay.AIControlChannel.m_lastDiffBytes
| Bug type URF_UNREAD_FIELD (click for details) In class anon.pay.AIControlChannel Field anon.pay.AIControlChannel.m_lastDiffBytes At AIControlChannel.java:[line 95]
UrF | Unread field: anon.xmlrpc.client.AnonServiceImplProxy.m_RpcServerHost
| Bug type URF_UNREAD_FIELD (click for details) In class anon.xmlrpc.client.AnonServiceImplProxy Field anon.xmlrpc.client.AnonServiceImplProxy.m_RpcServerHost At AnonServiceImplProxy.java:[line 52]
UrF | Unread field: anon.xmlrpc.client.AnonServiceImplProxy.m_RpcServerPort
| Bug type URF_UNREAD_FIELD (click for details) In class anon.xmlrpc.client.AnonServiceImplProxy Field anon.xmlrpc.client.AnonServiceImplProxy.m_RpcServerPort At AnonServiceImplProxy.java:[line 53]
UrF | Unread field: anon.xmlrpc.client.ChannelProxy.m_bIsClosed
| Bug type URF_UNREAD_FIELD (click for details) In class anon.xmlrpc.client.ChannelProxy Field anon.xmlrpc.client.ChannelProxy.m_bIsClosed At ChannelProxy.java:[line 39]
UrF | Unread field: anon.xmlrpc.client.ChannelProxy.m_bIsClosedByPeer
| Bug type URF_UNREAD_FIELD (click for details) In class anon.xmlrpc.client.ChannelProxy Field anon.xmlrpc.client.ChannelProxy.m_bIsClosedByPeer At ChannelProxy.java:[line 37]
UrF | Unread field: infoservice.mailsystem.central.MailAddressDBEntry.m_creationTime
| Bug type URF_UNREAD_FIELD (click for details) In class infoservice.mailsystem.central.MailAddressDBEntry Field infoservice.mailsystem.central.MailAddressDBEntry.m_creationTime At MailAddressDBEntry.java:[line 65]
UrF | Unread field: jap.JAPConfMixminion.m_lastUpdate
| Bug type URF_UNREAD_FIELD (click for details) In class jap.JAPConfMixminion Field jap.JAPConfMixminion.m_lastUpdate At JAPConfMixminion.java:[line 346]
UrF | Unread field: jap.JAPConfTor.m_lastUpdate
| Bug type URF_UNREAD_FIELD (click for details) In class jap.JAPConfTor Field jap.JAPConfTor.m_lastUpdate At JAPConfTor.java:[line 310]
UrF | Unread field: jap.pay.wizardnew.PaymentInfoPane.m_url
| Bug type URF_UNREAD_FIELD (click for details) In class jap.pay.wizardnew.PaymentInfoPane Field jap.pay.wizardnew.PaymentInfoPane.m_url At PaymentInfoPane.java:[line 134]
UrF | Unread field: jpi.helper.IncomingPayPalConnection.m_socket
| Bug type URF_UNREAD_FIELD (click for details) In class jpi.helper.IncomingPayPalConnection Field jpi.helper.IncomingPayPalConnection.m_socket At IncomingPayPalConnection.java:[line 63]
UrF | Unread field: jpi.util.HttpServer.m_errors
| Bug type URF_UNREAD_FIELD (click for details) In class jpi.util.HttpServer Field jpi.util.HttpServer.m_errors At HttpServer.java:[line 64]
UrF | Unread field: misc.JAPHTTPProxy.runFlag
| Bug type URF_UNREAD_FIELD (click for details) In class misc.JAPHTTPProxy Field misc.JAPHTTPProxy.runFlag At JAPHTTPProxy.java:[line 52]
UrF | Unread field: proxy.DirectProxyConnection.m_strVersion
| Bug type URF_UNREAD_FIELD (click for details) In class proxy.DirectProxyConnection Field proxy.DirectProxyConnection.m_strVersion At DirectProxyConnection.java:[line 74]
UrF | Unread field: update.JAPUpdateWizard.countPackages
| Bug type URF_UNREAD_FIELD (click for details) In class update.JAPUpdateWizard Field update.JAPUpdateWizard.countPackages At JAPUpdateWizard.java:[line 102]
UuF | Unused field: anon.infoservice.test.AllTests.m_proxy
| Bug type UUF_UNUSED_FIELD (click for details) In class anon.infoservice.test.AllTests Field anon.infoservice.test.AllTests.m_proxy In AllTests.java
UuF | Unused field: anon.util.test.AllTests.m_proxy
| Bug type UUF_UNUSED_FIELD (click for details) In class anon.util.test.AllTests Field anon.util.test.AllTests.m_proxy In AllTests.java
UuF | Unused field: forward.client.DefaultClientProtocolHandler.m_selectedMixCascade
| Bug type UUF_UNUSED_FIELD (click for details) In class forward.client.DefaultClientProtocolHandler Field forward.client.DefaultClientProtocolHandler.m_selectedMixCascade In DefaultClientProtocolHandler.java
UuF | Unused field: gui.wizard.BasicWizard.currentWizardPage
| Bug type UUF_UNUSED_FIELD (click for details) In class gui.wizard.BasicWizard Field gui.wizard.BasicWizard.currentWizardPage In BasicWizard.java
UuF | Unused field: gui.wizard.BasicWizardHost.m_bttnOk
| Bug type UUF_UNUSED_FIELD (click for details) In class gui.wizard.BasicWizardHost Field gui.wizard.BasicWizardHost.m_bttnOk In BasicWizardHost.java
UuF | Unused field: jap.JAPController.m_bChangedCascade
| Bug type UUF_UNUSED_FIELD (click for details) In class jap.JAPController Field jap.JAPController.m_bChangedCascade In JAPController.java
UuF | Unused field: jap.JAPController.m_nrOfJAPStarts
| Bug type UUF_UNUSED_FIELD (click for details) In class jap.JAPController Field jap.JAPController.m_nrOfJAPStarts In JAPController.java
UuF | Unused field: jap.pay.FlatrateDialog.m_strBalance
| Bug type UUF_UNUSED_FIELD (click for details) In class jap.pay.FlatrateDialog Field jap.pay.FlatrateDialog.m_strBalance In FlatrateDialog.java
UuF | Unused field: jap.pay.FlatrateDialog.m_strDuration
| Bug type UUF_UNUSED_FIELD (click for details) In class jap.pay.FlatrateDialog Field jap.pay.FlatrateDialog.m_strDuration In FlatrateDialog.java
UuF | Unused field: jap.pay.FlatrateDialog.m_strPrice
| Bug type UUF_UNUSED_FIELD (click for details) In class jap.pay.FlatrateDialog Field jap.pay.FlatrateDialog.m_strPrice In FlatrateDialog.java
UuF | Unused field: jap.pay.FlatrateDialog.m_strUnit
| Bug type UUF_UNUSED_FIELD (click for details) In class jap.pay.FlatrateDialog Field jap.pay.FlatrateDialog.m_strUnit In FlatrateDialog.java
UuF | Unused field: jpi.Configuration.m_settingsInDb
| Bug type UUF_UNUSED_FIELD (click for details) In class jpi.Configuration Field jpi.Configuration.m_settingsInDb In Configuration.java
UuF | Unused field: jpi.helper.PaysafecardHandler.pscThread
| Bug type UUF_UNUSED_FIELD (click for details) In class jpi.helper.PaysafecardHandler Field jpi.helper.PaysafecardHandler.pscThread In PaysafecardHandler.java
UuF | Unused field: jpi.PIAnswer.m_iStatusCode
| Bug type UUF_UNUSED_FIELD (click for details) In class jpi.PIAnswer Field jpi.PIAnswer.m_iStatusCode In PIAnswer.java
UuF | Unused field: jpi.PICommandAI.m_Database
| Bug type UUF_UNUSED_FIELD (click for details) In class jpi.PICommandAI Field jpi.PICommandAI.m_Database In PICommandAI.java
UuF | Unused field: jpi.PICommandAI.m_SecureRandom
| Bug type UUF_UNUSED_FIELD (click for details) In class jpi.PICommandAI Field jpi.PICommandAI.m_SecureRandom In PICommandAI.java
UuF | Unused field: jpi.PICommandAI.m_arbChallenge
| Bug type UUF_UNUSED_FIELD (click for details) In class jpi.PICommandAI Field jpi.PICommandAI.m_arbChallenge In PICommandAI.java
UuF | Unused field: jpi.PICommandAI.m_iState
| Bug type UUF_UNUSED_FIELD (click for details) In class jpi.PICommandAI Field jpi.PICommandAI.m_iState In PICommandAI.java
UuF | Unused field: jpi.PICommandAI.notifiedMixes
| Bug type UUF_UNUSED_FIELD (click for details) In class jpi.PICommandAI Field jpi.PICommandAI.notifiedMixes In PICommandAI.java
UuF | Unused field: jpi.PICommandMC.m_Database
| Bug type UUF_UNUSED_FIELD (click for details) In class jpi.PICommandMC Field jpi.PICommandMC.m_Database In PICommandMC.java

## Dodgy Warnings

Code&nbsp; | Warning
--- | ---
BC | Unchecked/unconfirmed cast from java.util.Observable to forward.server.ServerSocketPropagandist in jap.forward.JAPRoutingInfoServiceRegistrationTableModel.update(Observable, Object)
| Bug type BC_UNCONFIRMED_CAST (click for details) In class jap.forward.JAPRoutingInfoServiceRegistrationTableModel In method jap.forward.JAPRoutingInfoServiceRegistrationTableModel.update(Observable, Object) Actual type java.util.Observable Expected forward.server.ServerSocketPropagandist Local variable named a_notifier At JAPRoutingInfoServiceRegistrationTableModel.java:[line 126]
BC | Unchecked/unconfirmed cast from java.util.Observable to forward.server.ServerSocketPropagandist in jap.forward.JAPRoutingRegistrationStatusObserver.update(Observable, Object)
| Bug type BC_UNCONFIRMED_CAST (click for details) In class jap.forward.JAPRoutingRegistrationStatusObserver In method jap.forward.JAPRoutingRegistrationStatusObserver.update(Observable, Object) Actual type java.util.Observable Expected forward.server.ServerSocketPropagandist Local variable named a_notifier At JAPRoutingRegistrationStatusObserver.java:[line 176]
DB | Method gui.dialog.DialogContentPane$ButtonListener.actionPerformed(ActionEvent) uses the same code for two branches
| Bug type DB_DUPLICATE_BRANCHES (click for details) In class gui.dialog.DialogContentPane$ButtonListener In method gui.dialog.DialogContentPane$ButtonListener.actionPerformed(ActionEvent) At DialogContentPane.java:[line 3133] At DialogContentPane.java:[line 3137]
DLS | Dead store to updater in anon.client.AnonClient.finishInitialization(Multiplexer, KeyExchangeManager, IMutableProxyInterface, PacketCounter, Socket, IServiceContainer, MixCascade)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.client.AnonClient In method anon.client.AnonClient.finishInitialization(Multiplexer, KeyExchangeManager, IMutableProxyInterface, PacketCounter, Socket, IServiceContainer, MixCascade) Local variable named updater At AnonClient.java:[line 802]
DLS | Dead store to seed in anon.client.crypto.KeyPool.run()
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.client.crypto.KeyPool In method anon.client.crypto.KeyPool.run() Local variable named seed At KeyPool.java:[line 97]
DLS | Dead store to msgReceived in anon.client.XmlControlChannel.processMessage(byte[])
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.client.XmlControlChannel In method anon.client.XmlControlChannel.processMessage(byte[]) Local variable named msgReceived At XmlControlChannel.java:[line 61]
DLS | Dead store to password in anon.crypto.MD5Crypt.crypt(String, String)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.MD5Crypt In method anon.crypto.MD5Crypt.crypt(String, String) Local variable named password At MD5Crypt.java:[line 205]
DLS | Dead store to md5_1_digest in anon.crypto.MD5Crypt.crypt(String, String)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.MD5Crypt In method anon.crypto.MD5Crypt.crypt(String, String) Local variable named md5_1_digest At MD5Crypt.java:[line 201]
DLS | Dead store to md5_2_digest in anon.crypto.MD5Crypt.crypt(String, String)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.MD5Crypt In method anon.crypto.MD5Crypt.crypt(String, String) Local variable named md5_2_digest At MD5Crypt.java:[line 202]
DLS | Dead store to pwLength in anon.crypto.MD5Crypt.crypt(String, String)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.MD5Crypt In method anon.crypto.MD5Crypt.crypt(String, String) Local variable named pwLength At MD5Crypt.java:[line 206]
DLS | Dead store to salt in anon.crypto.MD5Crypt.crypt(String, String)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.MD5Crypt In method anon.crypto.MD5Crypt.crypt(String, String) Local variable named salt At MD5Crypt.java:[line 205]
DLS | Dead store to saltBytes in anon.crypto.MD5Crypt.crypt(String, String)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.MD5Crypt In method anon.crypto.MD5Crypt.crypt(String, String) Local variable named saltBytes At MD5Crypt.java:[line 204]
DLS | Dead store to saltLength in anon.crypto.MD5Crypt.crypt(String, String)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.MD5Crypt In method anon.crypto.MD5Crypt.crypt(String, String) Local variable named saltLength At MD5Crypt.java:[line 206]
DLS | Dead store to prf in anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.processClientFinished(byte[], byte[])
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange In method anon.crypto.tinytls.keyexchange.DHE_DSS_Key_Exchange.processClientFinished(byte[], byte[]) Local variable named prf At DHE_DSS_Key_Exchange.java:[line 277]
DLS | Dead store to prf in anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.processClientFinished(byte[], byte[])
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange In method anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.processClientFinished(byte[], byte[]) Local variable named prf At DHE_RSA_Key_Exchange.java:[line 274]
DLS | Dead store to w in anon.crypto.tinytls.test.tlsclienttest.main(String[])
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.tinytls.test.tlsclienttest In method anon.crypto.tinytls.test.tlsclienttest.main(String[]) Local variable named w At tlsclienttest.java:[line 31]
DLS | Dead store to len in anon.crypto.tinytls.TinyTLS$TLSInputStream.gotCertificate(TLSHandshakeRecord)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.tinytls.TinyTLS$TLSInputStream In method anon.crypto.tinytls.TinyTLS$TLSInputStream.gotCertificate(TLSHandshakeRecord) Local variable named len At TinyTLS.java:[line 377]
DLS | Dead store to len in anon.crypto.tinytls.TinyTLS$TLSInputStream.gotCertificateRequest(TLSHandshakeRecord)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.tinytls.TinyTLS$TLSInputStream In method anon.crypto.tinytls.TinyTLS$TLSInputStream.gotCertificateRequest(TLSHandshakeRecord) Local variable named len At TinyTLS.java:[line 453]
DLS | Dead store to sessionid in anon.crypto.tinytls.TinyTLS$TLSInputStream.gotServerHello(TLSHandshakeRecord)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.tinytls.TinyTLS$TLSInputStream In method anon.crypto.tinytls.TinyTLS$TLSInputStream.gotServerHello(TLSHandshakeRecord) Local variable named sessionid At TinyTLS.java:[line 336] Another occurrence at TinyTLS.java:[line 340]
DLS | Dead store to len in anon.crypto.XMLEncryption.encryptElement(Element, String)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.crypto.XMLEncryption In method anon.crypto.XMLEncryption.encryptElement(Element, String) Local variable named len At XMLEncryption.java:[line 91]
DLS | Dead store to a_nrAskedInfoServices in anon.infoservice.InfoServiceHolder.setNumberOfAskedInfoServices(int)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.infoservice.InfoServiceHolder In method anon.infoservice.InfoServiceHolder.setNumberOfAskedInfoServices(int) Local variable named a_nrAskedInfoServices At InfoServiceHolder.java:[line 246]
DLS | Dead store to dbEntryFromXML in anon.infoservice.test.InfoServiceDBEntryTest.testToXML()
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.infoservice.test.InfoServiceDBEntryTest In method anon.infoservice.test.InfoServiceDBEntryTest.testToXML() Local variable named dbEntryFromXML At InfoServiceDBEntryTest.java:[line 56]
DLS | Dead store to temp_row in anon.mixminion.fec.FECMath.invertMatrix(char[], int)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.mixminion.fec.FECMath In method anon.mixminion.fec.FECMath.invertMatrix(char[], int) Local variable named temp_row At FECMath.java:[line 510]
DLS | Dead store to init in anon.mixminion.FirstMMRConnection.sending(byte[], String)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.mixminion.FirstMMRConnection In method anon.mixminion.FirstMMRConnection.sending(byte[], String) Local variable named init At FirstMMRConnection.java:[line 144]
DLS | Dead store to tag in anon.mixminion.message.Decoder.decode()
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.mixminion.message.Decoder In method anon.mixminion.message.Decoder.decode() Local variable named tag At Decoder.java:[line 75]
DLS | Dead store to l in anon.mixminion.message.Decoder.testPayload(byte[])
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.mixminion.message.Decoder In method anon.mixminion.message.Decoder.testPayload(byte[]) Local variable named l At Decoder.java:[line 240]
DLS | Dead store to flag in anon.mixminion.message.FragmentedMessage.buildPayload()
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.mixminion.message.FragmentedMessage In method anon.mixminion.message.FragmentedMessage.buildPayload() Local variable named flag At FragmentedMessage.java:[line 110]
DLS | Dead store to path1 in anon.mixminion.message.NoReplyMessage.buildMessage()
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.mixminion.message.NoReplyMessage In method anon.mixminion.message.NoReplyMessage.buildMessage() Local variable named path1 At NoReplyMessage.java:[line 105]
DLS | Dead store to path2 in anon.mixminion.message.NoReplyMessage.buildMessage()
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.mixminion.message.NoReplyMessage In method anon.mixminion.message.NoReplyMessage.buildMessage() Local variable named path2 At NoReplyMessage.java:[line 106]
DLS | Dead store to signature in anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) Local variable named signature At MMRDescription.java:[line 302]
DLS | Dead store to debug in anon.pay.xml.XMLPaymentOption.getHeading(String)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.pay.xml.XMLPaymentOption In method anon.pay.xml.XMLPaymentOption.getHeading(String) Local variable named debug At XMLPaymentOption.java:[line 333]
DLS | Dead store to m_accountNumber in anon.pay.xml.XMLVolumePlanPurchase.setValues(Element)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.pay.xml.XMLVolumePlanPurchase In method anon.pay.xml.XMLVolumePlanPurchase.setValues(Element) Local variable named m_accountNumber At XMLVolumePlanPurchase.java:[line 125]
DLS | Dead store to m_planName in anon.pay.xml.XMLVolumePlanPurchase.setValues(Element)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.pay.xml.XMLVolumePlanPurchase In method anon.pay.xml.XMLVolumePlanPurchase.setValues(Element) Local variable named m_planName At XMLVolumePlanPurchase.java:[line 128]
DLS | Dead store to socksport in anon.tor.ordescription.ORDescription.parse(LineNumberReader)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.tor.ordescription.ORDescription In method anon.tor.ordescription.ORDescription.parse(LineNumberReader) Local variable named socksport At ORDescription.java:[line 348]
DLS | Dead store to socksport in anon.tor.ordescription.ORDescriptor.parse(LineNumberReader)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.tor.ordescription.ORDescriptor In method anon.tor.ordescription.ORDescriptor.parse(LineNumberReader) Local variable named socksport At ORDescriptor.java:[line 348]
DLS | Dead store to decBlock in anon.util.captcha.ZipBinaryImageCaptchaClient.solveCaptcha(String, byte[])
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.util.captcha.ZipBinaryImageCaptchaClient In method anon.util.captcha.ZipBinaryImageCaptchaClient.solveCaptcha(String, byte[]) Local variable named decBlock At ZipBinaryImageCaptchaClient.java:[line 280]
DLS | Dead store to o in anon.xmlrpc.client.AnonServiceImplProxy.send(int, byte[], int, int)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class anon.xmlrpc.client.AnonServiceImplProxy In method anon.xmlrpc.client.AnonServiceImplProxy.send(int, byte[], int, int) Local variable named o At AnonServiceImplProxy.java:[line 132]
DLS | Dead store to fill in gui.CertDetailsDialog$CertPathListCellRenderer.getListCellRendererComponent(JList, Object, int, boolean, boolean)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class gui.CertDetailsDialog$CertPathListCellRenderer In method gui.CertDetailsDialog$CertPathListCellRenderer.getListCellRendererComponent(JList, Object, int, boolean, boolean) Local variable named fill At CertDetailsDialog.java:[line 1090]
DLS | Dead store to msgbox in gui.JAPAWTMsgBox.MsgBox(Frame, String, String)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class gui.JAPAWTMsgBox In method gui.JAPAWTMsgBox.MsgBox(Frame, String, String) Local variable named msgbox At JAPAWTMsgBox.java:[line 109]
DLS | Dead store to $L3 in infoservice.mailsystem.central.server.GenericServer.run()
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class infoservice.mailsystem.central.server.GenericServer In method infoservice.mailsystem.central.server.GenericServer.run() Local variable stored in JVM register 3 At GenericServer.java:[line 222]
DLS | Dead store to resultValue in jap.forward.JAPRoutingRegistrationInfoServices.getRegistrationInfoServicesForStartup()
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class jap.forward.JAPRoutingRegistrationInfoServices In method jap.forward.JAPRoutingRegistrationInfoServices.getRegistrationInfoServicesForStartup() Local variable named resultValue At JAPRoutingRegistrationInfoServices.java:[line 386]
DLS | Dead store to textArea in jap.JAPAboutNew.JAPAboutNew(Component)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class jap.JAPAboutNew In method jap.JAPAboutNew.JAPAboutNew(Component) Local variable named textArea At JAPAboutNew.java:[line 67]
DLS | Dead store to gbl in jap.JAPNewView.buildForwarderPanel()
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class jap.JAPNewView In method jap.JAPNewView.buildForwarderPanel() Local variable named gbl At JAPNewView.java:[line 1197]
DLS | Dead store to d in jap.pay.AccountSettingsPanel.doShowTransactions(PayAccount)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class jap.pay.AccountSettingsPanel In method jap.pay.AccountSettingsPanel.doShowTransactions(PayAccount) Local variable named d At AccountSettingsPanel.java:[line 965]
DLS | Dead store to durationLimited in jpi.db.DataBase.getVolumePlan(String)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getVolumePlan(String) Local variable named durationLimited At DataBase.java:[line 2767]
DLS | Dead store to volumeLimited in jpi.db.DataBase.getVolumePlan(String)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getVolumePlan(String) Local variable named volumeLimited At DataBase.java:[line 2768]
DLS | Dead store to foo in jpi.db.DataBase.storePassivePayment(XMLPassivePayment)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.storePassivePayment(XMLPassivePayment) Local variable named foo At DataBase.java:[line 1426]
DLS | Dead store to chStr in jpi.PICommandUser.getChallengeXML()
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class jpi.PICommandUser In method jpi.PICommandUser.getChallengeXML() Local variable named chStr At PICommandUser.java:[line 680]
DLS | Dead store to chargeclient in jpi.util.ChargeClient.main(String[])
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class jpi.util.ChargeClient In method jpi.util.ChargeClient.main(String[]) Local variable named chargeclient At ChargeClient.java:[line 65]
DLS | Dead store to encBlock in jpi.util.XMLCaptcha.XMLCaptcha(byte[], int, int)
| Bug type DLS_DEAD_LOCAL_STORE (click for details) In class jpi.util.XMLCaptcha In method jpi.util.XMLCaptcha.XMLCaptcha(byte[], int, int) Local variable named encBlock At XMLCaptcha.java:[line 108]
ICAST | Result of integer multiplication cast to long in anon.mixminion.message.ReplyBlock.buildBlock()
| Bug type ICAST_INTEGER_MULTIPLY_CAST_TO_LONG (click for details) In class anon.mixminion.message.ReplyBlock In method anon.mixminion.message.ReplyBlock.buildBlock() At ReplyBlock.java:[line 168]
ICAST | Result of integer multiplication cast to long in anon.mixminion.message.ReplyBlock.timetoliveIsOK()
| Bug type ICAST_INTEGER_MULTIPLY_CAST_TO_LONG (click for details) In class anon.mixminion.message.ReplyBlock In method anon.mixminion.message.ReplyBlock.timetoliveIsOK() At ReplyBlock.java:[line 366]
ICAST | Result of integer multiplication cast to long in jpi.db.DataBase.purgePaysafecardPayments()
| Bug type ICAST_INTEGER_MULTIPLY_CAST_TO_LONG (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.purgePaysafecardPayments() At DataBase.java:[line 1491]
NP | Load of known null value in anon.crypto.AbstractX509AlternativeName.createValue(Vector, Vector)
| Bug type NP_LOAD_OF_KNOWN_NULL_VALUE (click for details) In class anon.crypto.AbstractX509AlternativeName In method anon.crypto.AbstractX509AlternativeName.createValue(Vector, Vector) At AbstractX509AlternativeName.java:[line 261]
NP | Possible null pointer dereference in anon.mixminion.EMail.trimPayload(String) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.EMail In method anon.mixminion.EMail.trimPayload(String) Local variable named aktLine Dereferenced at EMail.java:[line 259] Known null at EMail.java:[line 258]
NP | Possible null pointer dereference in anon.mixminion.EMail.trimPayload(String) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.EMail In method anon.mixminion.EMail.trimPayload(String) Called method java.lang.String.startsWith(String) Argument 1 might be null but must not be null Local variable named aktLine Method invoked at EMail.java:[line 255] Known null at EMail.java:[line 255]
NP | Possible null pointer dereference in anon.mixminion.message.Decoder.decode() due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.message.Decoder In method anon.mixminion.message.Decoder.decode() Local variable stored in JVM register ? Dereferenced at Decoder.java:[line 213] Known null at Decoder.java:[line 210]
NP | Possible null pointer dereference in anon.mixminion.message.Decoder.decode() due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.message.Decoder In method anon.mixminion.message.Decoder.decode() Local variable named aktLine Dereferenced at Decoder.java:[line 88] Known null at Decoder.java:[line 87]
NP | Possible null pointer dereference in anon.mixminion.message.Decoder.decode() due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.message.Decoder In method anon.mixminion.message.Decoder.decode() Local variable named aktLine Dereferenced at Decoder.java:[line 94] Known null at Decoder.java:[line 93]
NP | Possible null pointer dereference in anon.mixminion.message.Decoder.decode() due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.message.Decoder In method anon.mixminion.message.Decoder.decode() Local variable named aktLine Dereferenced at Decoder.java:[line 102] Known null at Decoder.java:[line 101]
NP | Possible null pointer dereference in anon.mixminion.message.Decoder.decode() due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.message.Decoder In method anon.mixminion.message.Decoder.decode() Called method java.lang.String.startsWith(String) Argument 1 might be null but must not be null Local variable named aktLine Method invoked at Decoder.java:[line 208] Known null at Decoder.java:[line 208]
NP | Possible null pointer dereference in anon.mixminion.message.ReplyBlock.parseReplyBlocks(String, byte[]) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.message.ReplyBlock In method anon.mixminion.message.ReplyBlock.parseReplyBlocks(String, byte[]) Called method java.lang.String.startsWith(String) Argument 1 might be null but must not be null Local variable stored in JVM register ? Method invoked at ReplyBlock.java:[line 275] Known null at ReplyBlock.java:[line 275]
NP | Possible null pointer dereference in anon.mixminion.message.ReplyBlock.parseReplyBlocks(String, byte[]) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.message.ReplyBlock In method anon.mixminion.message.ReplyBlock.parseReplyBlocks(String, byte[]) Called method java.lang.String.startsWith(String) Argument 1 might be null but must not be null Local variable named aktLine Method invoked at ReplyBlock.java:[line 270] Known null at ReplyBlock.java:[line 270]
NP | Possible null pointer dereference in anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) Local variable stored in JVM register ? Dereferenced at MMRDescription.java:[line 296] Known null at MMRDescription.java:[line 296]
NP | Possible null pointer dereference in anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) Local variable stored in JVM register ? Dereferenced at MMRDescription.java:[line 298] Known null at MMRDescription.java:[line 298]
NP | Possible null pointer dereference in anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) Local variable stored in JVM register ? Dereferenced at MMRDescription.java:[line 300] Known null at MMRDescription.java:[line 300]
NP | Possible null pointer dereference in anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) Local variable stored in JVM register ? Dereferenced at MMRDescription.java:[line 302] Known null at MMRDescription.java:[line 302]
NP | Possible null pointer dereference in anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) Local variable stored in JVM register ? Dereferenced at MMRDescription.java:[line 305] Known null at MMRDescription.java:[line 305]
NP | Possible null pointer dereference in anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) Local variable stored in JVM register ? Dereferenced at MMRDescription.java:[line 314] Known null at MMRDescription.java:[line 314]
NP | Possible null pointer dereference in anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) Local variable stored in JVM register ? Dereferenced at MMRDescription.java:[line 317] Known null at MMRDescription.java:[line 317]
NP | Possible null pointer dereference in anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) Local variable stored in JVM register ? Dereferenced at MMRDescription.java:[line 327] Known null at MMRDescription.java:[line 327]
NP | Possible null pointer dereference in anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) Local variable stored in JVM register ? Dereferenced at MMRDescription.java:[line 329] Known null at MMRDescription.java:[line 329]
NP | Possible null pointer dereference in anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) Local variable stored in JVM register ? Dereferenced at MMRDescription.java:[line 336] Known null at MMRDescription.java:[line 336]
NP | Possible null pointer dereference in anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.mixminion.mmrdescription.MMRDescription In method anon.mixminion.mmrdescription.MMRDescription.parse(LineNumberReader) Called method java.lang.String.startsWith(String) Argument 1 might be null but must not be null Local variable named temp Method invoked at MMRDescription.java:[line 351] Known null at MMRDescription.java:[line 351]
NP | Possible null pointer dereference in anon.tor.ordescription.ORList.parseStatus(byte[], boolean) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.tor.ordescription.ORList In method anon.tor.ordescription.ORList.parseStatus(byte[], boolean) Called method java.lang.String.startsWith(String) Argument 1 might be null but must not be null Local variable named curLine Method invoked at ORList.java:[line 365] Known null at ORList.java:[line 365]
NP | Possible null pointer dereference in anon.tor.ordescription.ORList.parseStatus(byte[], boolean) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class anon.tor.ordescription.ORList In method anon.tor.ordescription.ORList.parseStatus(byte[], boolean) Called method java.lang.String.startsWith(String) Argument 1 might be null but must not be null Local variable named curLine Method invoked at ORList.java:[line 383] Known null at ORList.java:[line 383]
NP | Load of known null value in anon.util.ClassUtil.loadClasses(Class, File)
| Bug type NP_LOAD_OF_KNOWN_NULL_VALUE (click for details) In class anon.util.ClassUtil In method anon.util.ClassUtil.loadClasses(Class, File) At ClassUtil.java:[line 377]
NP | Load of known null value in gui.GUIUtils.getParentWindow(Component)
| Bug type NP_LOAD_OF_KNOWN_NULL_VALUE (click for details) In class gui.GUIUtils In method gui.GUIUtils.getParentWindow(Component) At GUIUtils.java:[line 551]
NP | Possible null pointer dereference in infoservice.KeyGenTest.generateKeys(String, String) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class infoservice.KeyGenTest In method infoservice.KeyGenTest.generateKeys(String, String) Local variable named strPasswd Dereferenced at KeyGenTest.java:[line 52] Known null at KeyGenTest.java:[line 39]
NP | Possible null pointer dereference in jpi.JPIMain.main(String[]) due to return value of called method
| Bug type NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE (click for details) In class jpi.JPIMain In method jpi.JPIMain.main(String[]) Local variable named input Dereferenced at JPIMain.java:[line 147] Known null at JPIMain.java:[line 140]
RCN | Redundant nullcheck of keyring which is known to be null in anon.mixminion.message.Keyring.Keyring(String)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE (click for details) In class anon.mixminion.message.Keyring In method anon.mixminion.message.Keyring.Keyring(String) Local variable named keyring Redundant null check at Keyring.java:[line 74]
RCN | Redundant nullcheck of ln, which is known to be non-null in anon.tor.ordescription.ORDescription.parse(LineNumberReader)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class anon.tor.ordescription.ORDescription In method anon.tor.ordescription.ORDescription.parse(LineNumberReader) Local variable named ln Redundant null check at ORDescription.java:[line 367]
RCN | Redundant nullcheck of ln, which is known to be non-null in anon.tor.ordescription.ORDescriptor.parse(LineNumberReader)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class anon.tor.ordescription.ORDescriptor In method anon.tor.ordescription.ORDescriptor.parse(LineNumberReader) Local variable named ln Redundant null check at ORDescriptor.java:[line 367]
RCN | Redundant nullcheck of a_positionOnScreen, which is known to be non-null in gui.GUIUtils.getRelativePosition(Point, Component)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class gui.GUIUtils In method gui.GUIUtils.getRelativePosition(Point, Component) Local variable named a_positionOnScreen Redundant null check at GUIUtils.java:[line 1730]
RCN | Redundant nullcheck of gui.MapBox.m_urlString which is known to be null in gui.MapBox.refresh()
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE (click for details) In class gui.MapBox In method gui.MapBox.refresh() Field gui.MapBox.m_urlString Redundant null check at MapBox.java:[line 246]
RCN | Redundant nullcheck of socket which is known to be null in infoservice.InfoServiceServer.run()
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE (click for details) In class infoservice.InfoServiceServer In method infoservice.InfoServiceServer.run() Local variable named socket Redundant null check at InfoServiceServer.java:[line 45]
RCN | Redundant nullcheck of cascade, which is known to be non-null in jap.JAPConfAnon.valueChanged(ListSelectionEvent)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class jap.JAPConfAnon In method jap.JAPConfAnon.valueChanged(ListSelectionEvent) Local variable named cascade Redundant null check at JAPConfAnon.java:[line 1304]
RCN | Redundant nullcheck of jap.StatusPanel.m_Msgs, which is known to be non-null in jap.StatusPanel.run()
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class jap.StatusPanel In method jap.StatusPanel.run() Field jap.StatusPanel.m_Msgs Redundant null check at StatusPanel.java:[line 349]
REC | Exception is caught when Exception is not thrown in anon.crypto.AbstractX509Extension.getInstance(DERSequence)
| Bug type REC_CATCH_EXCEPTION (click for details) In class anon.crypto.AbstractX509Extension In method anon.crypto.AbstractX509Extension.getInstance(DERSequence) At AbstractX509Extension.java:[line 177]
REC | Exception is caught when Exception is not thrown in anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.processServerKeyExchange(byte[], int, int, byte[], byte[], JAPCertificate)
| Bug type REC_CATCH_EXCEPTION (click for details) In class anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange In method anon.crypto.tinytls.keyexchange.DHE_RSA_Key_Exchange.processServerKeyExchange(byte[], int, int, byte[], byte[], JAPCertificate) At DHE_RSA_Key_Exchange.java:[line 198]
REC | Exception is caught when Exception is not thrown in anon.infoservice.InfoServiceDBEntry.getUpdateEntries(Class, boolean)
| Bug type REC_CATCH_EXCEPTION (click for details) In class anon.infoservice.InfoServiceDBEntry In method anon.infoservice.InfoServiceDBEntry.getUpdateEntries(Class, boolean) At InfoServiceDBEntry.java:[line 1358]
REC | Exception is caught when Exception is not thrown in anon.tor.Tor.createNewCircuit(String, int)
| Bug type REC_CATCH_EXCEPTION (click for details) In class anon.tor.Tor In method anon.tor.Tor.createNewCircuit(String, int) At Tor.java:[line 452]
REC | Exception is caught when Exception is not thrown in anon.util.ClassUtil.getClassPath(boolean)
| Bug type REC_CATCH_EXCEPTION (click for details) In class anon.util.ClassUtil In method anon.util.ClassUtil.getClassPath(boolean) At ClassUtil.java:[line 542]
REC | Exception is caught when Exception is not thrown in anon.util.ResourceLoader.ResourceLoader()
| Bug type REC_CATCH_EXCEPTION (click for details) In class anon.util.ResourceLoader In method anon.util.ResourceLoader.ResourceLoader() At ResourceLoader.java:[line 84]
REC | Exception is caught when Exception is not thrown in anon.util.ResourceLoader.loadResources(String, File, IResourceInstantiator, boolean, boolean, Hashtable)
| Bug type REC_CATCH_EXCEPTION (click for details) In class anon.util.ResourceLoader In method anon.util.ResourceLoader.loadResources(String, File, IResourceInstantiator, boolean, boolean, Hashtable) At ResourceLoader.java:[line 630]
REC | Exception is caught when Exception is not thrown in captcha.graphics.BinaryImageCreator.imageToBinary(Image)
| Bug type REC_CATCH_EXCEPTION (click for details) In class captcha.graphics.BinaryImageCreator In method captcha.graphics.BinaryImageCreator.imageToBinary(Image) At BinaryImageCreator.java:[line 88]
REC | Exception is caught when Exception is not thrown in gui.dialog.JAPDialog.JAPDialog(Component, String, boolean, boolean)
| Bug type REC_CATCH_EXCEPTION (click for details) In class gui.dialog.JAPDialog In method gui.dialog.JAPDialog.JAPDialog(Component, String, boolean, boolean) At JAPDialog.java:[line 318]
REC | Exception is caught when Exception is not thrown in gui.dialog.JAPDialog.requestFocusForFirstFocusableComponent(Container)
| Bug type REC_CATCH_EXCEPTION (click for details) In class gui.dialog.JAPDialog In method gui.dialog.JAPDialog.requestFocusForFirstFocusableComponent(Container) At JAPDialog.java:[line 3456]
REC | Exception is caught when Exception is not thrown in gui.dialog.JAPDialog$7.run()
| Bug type REC_CATCH_EXCEPTION (click for details) In class gui.dialog.JAPDialog$7 In method gui.dialog.JAPDialog$7.run() At JAPDialog.java:[line 3694]
REC | Exception is caught when Exception is not thrown in gui.dialog.PasswordContentPane$CapsLockAdapter.keyPressed(KeyEvent)
| Bug type REC_CATCH_EXCEPTION (click for details) In class gui.dialog.PasswordContentPane$CapsLockAdapter In method gui.dialog.PasswordContentPane$CapsLockAdapter.keyPressed(KeyEvent) At PasswordContentPane.java:[line 469]
REC | Exception is caught when Exception is not thrown in gui.GUIUtils.addTimedTooltipListener(JComponent)
| Bug type REC_CATCH_EXCEPTION (click for details) In class gui.GUIUtils In method gui.GUIUtils.addTimedTooltipListener(JComponent) At GUIUtils.java:[line 1081]
REC | Exception is caught when Exception is not thrown in gui.GUIUtils.getCurrentScreen(Window)
| Bug type REC_CATCH_EXCEPTION (click for details) In class gui.GUIUtils In method gui.GUIUtils.getCurrentScreen(Window) At GUIUtils.java:[line 1232]
REC | Exception is caught when Exception is not thrown in gui.GUIUtils.getDefaultScreenBounds(Window)
| Bug type REC_CATCH_EXCEPTION (click for details) In class gui.GUIUtils In method gui.GUIUtils.getDefaultScreenBounds(Window) At GUIUtils.java:[line 1922]
REC | Exception is caught when Exception is not thrown in gui.GUIUtils.getScreens(Window)
| Bug type REC_CATCH_EXCEPTION (click for details) In class gui.GUIUtils In method gui.GUIUtils.getScreens(Window) At GUIUtils.java:[line 1174]
REC | Exception is caught when Exception is not thrown in gui.JAPAWTMsgBox.JAPAWTMsgBox(Frame, String, String)
| Bug type REC_CATCH_EXCEPTION (click for details) In class gui.JAPAWTMsgBox In method gui.JAPAWTMsgBox.JAPAWTMsgBox(Frame, String, String) At JAPAWTMsgBox.java:[line 95]
REC | Exception is caught when Exception is not thrown in gui.JAPMessages.getString(String)
| Bug type REC_CATCH_EXCEPTION (click for details) In class gui.JAPMessages In method gui.JAPMessages.getString(String) At JAPMessages.java:[line 170]
REC | Exception is caught when Exception is not thrown in infoservice.CertificateManager.update(Observable, Object)
| Bug type REC_CATCH_EXCEPTION (click for details) In class infoservice.CertificateManager In method infoservice.CertificateManager.update(Observable, Object) At CertificateManager.java:[line 108]
REC | Exception is caught when Exception is not thrown in infoservice.Configuration.Configuration(Properties)
| Bug type REC_CATCH_EXCEPTION (click for details) In class infoservice.Configuration In method infoservice.Configuration.Configuration(Properties) At Configuration.java:[line 795]
REC | Exception is caught when Exception is not thrown in infoservice.dynamic.DynamicCommandsExtension.doPing(InetAddress, int, long)
| Bug type REC_CATCH_EXCEPTION (click for details) In class infoservice.dynamic.DynamicCommandsExtension In method infoservice.dynamic.DynamicCommandsExtension.doPing(InetAddress, int, long) At DynamicCommandsExtension.java:[line 427]
REC | Exception is caught when Exception is not thrown in infoservice.InfoServiceCommands.humanGetStatus()
| Bug type REC_CATCH_EXCEPTION (click for details) In class infoservice.InfoServiceCommands In method infoservice.InfoServiceCommands.humanGetStatus() At InfoServiceCommands.java:[line 898]
REC | Exception is caught when Exception is not thrown in jap.JAPConfAnon.deleteManualCascade()
| Bug type REC_CATCH_EXCEPTION (click for details) In class jap.JAPConfAnon In method jap.JAPConfAnon.deleteManualCascade() At JAPConfAnon.java:[line 1063]
REC | Exception is caught when Exception is not thrown in jap.JAPConfAnon.update(Observable, Object)
| Bug type REC_CATCH_EXCEPTION (click for details) In class jap.JAPConfAnon In method jap.JAPConfAnon.update(Observable, Object) At JAPConfAnon.java:[line 1585]
REC | Exception is caught when Exception is not thrown in jap.JAPConfInfoService$10.update(Observable, Object)
| Bug type REC_CATCH_EXCEPTION (click for details) In class jap.JAPConfInfoService$10 In method jap.JAPConfInfoService$10.update(Observable, Object) At JAPConfInfoService.java:[line 696]
REC | Exception is caught when Exception is not thrown in jap.JAPConfInfoService$12.actionPerformed(ActionEvent)
| Bug type REC_CATCH_EXCEPTION (click for details) In class jap.JAPConfInfoService$12 In method jap.JAPConfInfoService$12.actionPerformed(ActionEvent) At JAPConfInfoService.java:[line 996]
REC | Exception is caught when Exception is not thrown in jap.JAPController.loadConfigFile(String, boolean, ISplashResponse)
| Bug type REC_CATCH_EXCEPTION (click for details) In class jap.JAPController In method jap.JAPController.loadConfigFile(String, boolean, ISplashResponse) At JAPController.java:[line 1600]
REC | Exception is caught when Exception is not thrown in jap.JAPDebug.actionPerformed(ActionEvent)
| Bug type REC_CATCH_EXCEPTION (click for details) In class jap.JAPDebug In method jap.JAPDebug.actionPerformed(ActionEvent) At JAPDebug.java:[line 397]
REC | Exception is caught when Exception is not thrown in jap.JAPSplash.centerOnScreen(Window)
| Bug type REC_CATCH_EXCEPTION (click for details) In class jap.JAPSplash In method jap.JAPSplash.centerOnScreen(Window) At JAPSplash.java:[line 285]
REC | Exception is caught when Exception is not thrown in jap.StatusPanel.run()
| Bug type REC_CATCH_EXCEPTION (click for details) In class jap.StatusPanel In method jap.StatusPanel.run() At StatusPanel.java:[line 386]
REC | Exception is caught when Exception is not thrown in jpi.db.DataBase.getFlatrateConfigOption(String)
| Bug type REC_CATCH_EXCEPTION (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getFlatrateConfigOption(String) At DataBase.java:[line 2370] Another occurrence at DataBase.java:[line 2377]
REC | Exception is caught when Exception is not thrown in jpi.db.DataBase.getPaymentOptionsFromDb()
| Bug type REC_CATCH_EXCEPTION (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.getPaymentOptionsFromDb() At DataBase.java:[line 2695]
REC | Exception is caught when Exception is not thrown in jpi.db.DataBase.setPaymentSettings()
| Bug type REC_CATCH_EXCEPTION (click for details) In class jpi.db.DataBase In method jpi.db.DataBase.setPaymentSettings() At DataBase.java:[line 2436]
REC | Exception is caught when Exception is not thrown in update.JAPUpdateWizard.createNewJAPJar()
| Bug type REC_CATCH_EXCEPTION (click for details) In class update.JAPUpdateWizard In method update.JAPUpdateWizard.createNewJAPJar() At JAPUpdateWizard.java:[line 678]
REC | Exception is caught when Exception is not thrown in update.JAPUpdateWizard.overwriteJapJar()
| Bug type REC_CATCH_EXCEPTION (click for details) In class update.JAPUpdateWizard In method update.JAPUpdateWizard.overwriteJapJar() At JAPUpdateWizard.java:[line 755]
REC | Exception is caught when Exception is not thrown in update.JAPUpdateWizard$JapDownloadManager.run()
| Bug type REC_CATCH_EXCEPTION (click for details) In class update.JAPUpdateWizard$JapDownloadManager In method update.JAPUpdateWizard$JapDownloadManager.run() At JAPUpdateWizard.java:[line 556] Another occurrence at JAPUpdateWizard.java:[line 556]
SF | Switch statement found in anon.crypto.tinytls.TinyTLSServerSocket$TLSInputStream.read(byte[], int, int) where one case falls through to the next case
| Bug type SF_SWITCH_FALLTHROUGH (click for details) In class anon.crypto.tinytls.TinyTLSServerSocket$TLSInputStream In method anon.crypto.tinytls.TinyTLSServerSocket$TLSInputStream.read(byte[], int, int) At TinyTLSServerSocket.java:[lines 259-263]
ST | Write to static field anon.mixminion.Mixminion.m_serviceDescription from instance method anon.mixminion.Mixminion.initialize(AnonServerDescription, IServiceContainer)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class anon.mixminion.Mixminion In method anon.mixminion.Mixminion.initialize(AnonServerDescription, IServiceContainer) Field anon.mixminion.Mixminion.m_serviceDescription At Mixminion.java:[line 64]
ST | Write to static field infoservice.Configuration.configurationInstance from instance method infoservice.Configuration.Configuration(Properties)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class infoservice.Configuration In method infoservice.Configuration.Configuration(Properties) Field infoservice.Configuration.configurationInstance At Configuration.java:[line 196]
ST | Write to static field infoservice.Configuration.ms_httpDateFormat from instance method infoservice.Configuration.Configuration(Properties)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class infoservice.Configuration In method infoservice.Configuration.Configuration(Properties) Field infoservice.Configuration.ms_httpDateFormat At Configuration.java:[line 769]
ST | Write to static field jap.JAPConf.ms_JapConfInstance from instance method jap.JAPConf.JAPConf(AbstractJAPMainView, boolean)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class jap.JAPConf In method jap.JAPConf.JAPConf(AbstractJAPMainView, boolean) Field jap.JAPConf.ms_JapConfInstance At JAPConf.java:[line 180]
ST | Write to static field jap.JAPDebug.m_bConsole from instance method jap.JAPDebug.actionPerformed(ActionEvent)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class jap.JAPDebug In method jap.JAPDebug.actionPerformed(ActionEvent) Field jap.JAPDebug.m_bConsole At JAPDebug.java:[line 410]
ST | Write to static field jap.JAPDebug.ms_bFile from instance method jap.JAPDebug.finalize()
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class jap.JAPDebug In method jap.JAPDebug.finalize() Field jap.JAPDebug.ms_bFile At JAPDebug.java:[line 103]
ST | Write to static field jap.JAPDebug.m_textareaConsole from instance method jap.JAPDebug.internal_showConsole(boolean, Window)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class jap.JAPDebug In method jap.JAPDebug.internal_showConsole(boolean, Window) Field jap.JAPDebug.m_textareaConsole At JAPDebug.java:[line 275]
ST | Write to static field jap.JAPDebug.m_textareaConsole from instance method jap.JAPDebug.internal_showConsole(boolean, Window)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class jap.JAPDebug In method jap.JAPDebug.internal_showConsole(boolean, Window) Field jap.JAPDebug.m_textareaConsole At JAPDebug.java:[line 282]
ST | Write to static field jap.JAPDebug.m_bConsole from instance method jap.JAPDebug.windowClosing(WindowEvent)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class jap.JAPDebug In method jap.JAPDebug.windowClosing(WindowEvent) Field jap.JAPDebug.m_bConsole At JAPDebug.java:[line 347]
ST | Write to static field jpi.util.ErrorCodeMap.m_map from instance method jpi.util.ErrorCodeMap.ErrorCodeMap()
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class jpi.util.ErrorCodeMap In method jpi.util.ErrorCodeMap.ErrorCodeMap() Field jpi.util.ErrorCodeMap.m_map At ErrorCodeMap.java:[line 42]
ST | Write to static field logging.LogHolder.ms_logInstance from instance method logging.LogHolder.LogHolder()
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class logging.LogHolder In method logging.LogHolder.LogHolder() Field logging.LogHolder.ms_logInstance At LogHolder.java:[line 85]

# Details

## DMI_RANDOM_USED_ONLY_ONCE: Random object created and used only once

This code creates a java.util.Random object, uses it to generate one random number, and then discards the Random object. This produces mediocre quality random numbers and is inefficient. If possible, rewrite the code so that the Random object is created once and saved, and each time a new random number is required invoke a method on the existing Random object to obtain it.

If it is important that the generated Random numbers not be guessable, you must not create a new Random for each random number; the values are too easily guessable. You should strongly consider using a java.security.SecureRandom instead (and avoid allocating a new SecureRandom for each random number needed).

## BC_UNCONFIRMED_CAST: Unchecked/unconfirmed cast

This cast is unchecked, and not all instances of the type casted from can be cast to the type it is being cast to. Ensure that your program logic ensures that this cast will not fail.

## BIT_IOR_OF_SIGNED_BYTE: Bitwise OR of signed byte value

Loads a value from a byte array and performs a bitwise OR with that value. Values loaded from a byte array are sign extended to 32 bits before any any bitwise operations are performed on the value. Thus, if `b[0]` contains the value `0xff`, and `x` is initially 0, then the code `((x << 8) | b[0])` will sign extend `0xff` to get `0xffffffff`, and thus give the value `0xffffffff` as the result.

In particular, the following code for packing a byte array into an int is badly wrong:

`int result = 0; for(int i = 0; i < 4; i++) result = ((result << 8) | b[i]);`

The following idiom will work instead:

`int result = 0; for(int i = 0; i < 4; i++) result = ((result << 8) | (b[i] &s; 0xff));`

## DB_DUPLICATE_BRANCHES: Method uses the same code for two branches

This method uses the same code to implement two branches of a conditional branch. Check to ensure that this isn't a coding mistake.

## DE_MIGHT_IGNORE: Method might ignore exception

This method might ignore an exception. In general, exceptions should be handled or reported in some way, or they should be thrown out of the method.

## DLS_DEAD_LOCAL_STORE: Dead store to local variable

This instruction assigns a value to a local variable, but the value is not read by any subsequent instruction. Often, this indicates an error, because the value computed is never used.

Note that Sun's javac compiler often generates dead stores for final local variables. Because FindBugs is a bytecode-based tool, there is no easy way to eliminate these false positives.

## DM_STRING_VOID_CTOR: Method invokes inefficient new String() constructor

Creating a new `java.lang.String` object using the no-argument constructor wastes memory because the object so created will be functionally indistinguishable from the empty string constant `""`. Java guarantees that identical string constants will be represented by the same `String` object. Therefore, you should just use the empty string constant directly.

## DM_STRING_CTOR: Method invokes inefficient new String(String) constructor

Using the `java.lang.String(String)` constructor wastes memory because the object so constructed will be functionally indistinguishable from the `String` passed as a parameter. Just use the argument `String` directly.

## DM_EXIT: Method invokes System.exit(...)

Invoking System.exit shuts down the entire Java virtual machine. This should only been done when it is appropriate. Such calls make it hard or impossible for your code to be invoked by other code. Consider throwing a RuntimeException instead.

## DM_STRING_TOSTRING: Method invokes toString() method on a String

Calling `String.toString()` is just a redundant operation. Just use the String.

## EC_UNRELATED_TYPES: Call to equals() comparing different types

This method calls equals(Object) on two references of different class types with no common subclasses. Therefore, the objects being compared are unlikely to be members of the same class at runtime (unless some application classes were not analyzed, or dynamic class loading can occur at runtime). According to the contract of equals(), objects of different classes should always compare as unequal; therefore, according to the contract defined by java.lang.Object.equals(Object), the result of this comparison will always be false at runtime.

## EI_EXPOSE_REP: May expose internal representation by returning reference to mutable object

Returning a reference to a mutable object value stored in one of the object's fields exposes the internal representation of the object. If instances are accessed by untrusted code, and unchecked changes to the mutable object would compromise security or other important properties, you will need to do something different. Returning a new copy of the object is better approach in many situations.

## EI_EXPOSE_REP2: May expose internal representation by incorporating reference to mutable object

This code stores a reference to an externally mutable object into the internal representation of the object. If instances are accessed by untrusted code, and unchecked changes to the mutable object would compromise security or other important properties, you will need to do something different. Storing a copy of the object is better approach in many situations.

## EQ_SELF_USE_OBJECT: Covariant equals() method defined, Object.equals(Object) inherited

This class defines a covariant version of the `equals()` method, but inherits the normal `equals(Object)` method defined in the base `java.lang.Object` class. The class should probably define a non-covariant version of `equals()`. (I.e., a method with the signature `boolean equals(java.lang.Object)`.

## FI_EXPLICIT_INVOCATION: Explicit invocation of finalizer

This method contains an explicit invocation of the `finalize()` method on an object. Because finalizer methods are supposed to be executed once, and only by the VM, this is a bad idea.

If a connected set of objects beings finalizable, then the VM will invoke the finalize method on all the finalizable object, possibly at the same time in different threads. Thus, it is a particularly bad idea, in the finalize method for a class X, invoke finalize on objects referenced by X, because they may already be getting finalized in a separate thread.

## FI_FINALIZER_NULLS_FIELDS: Finalizer nulls fields

This finalizer nulls out fields. This is usually an error, as it does not aid garbage collection, and the object is going to be garbage collected anyway.

## FI_PUBLIC_SHOULD_BE_PROTECTED: Finalizer should be protected, not public

A class's `finalize()` method should have protected access, not public.

## HE_EQUALS_USE_HASHCODE: Class defines equals() and uses Object.hashCode()

This class overrides `equals(Object)`, but does not override `hashCode()`, and inherits the implementation of `hashCode()` from `java.lang.Object` (which returns the identity hash code, an arbitrary value assigned to the object by the VM). Therefore, the class is very likely to violate the invariant that equal objects must have equal hashcodes.

If you don't think instances of this class will ever be inserted into a HashMap/HashTable, the recommended `hashCode` implementation to use is:

    public int hashCode() {
      assert false : "hashCode not designed";
      return 42; // any arbitrary constant will do
      }

## ICAST_INTEGER_MULTIPLY_CAST_TO_LONG: Result of integer multiplication cast to long

This code performs integer multiply and then converts the result to a long, as in: ``

    	long convertDaysToMilliseconds(int days) { return 1000*3600*24*days; }

If the multiplication is done using long arithmetic, you can avoid the possibility that the result will overflow. For example, you could fix the above code to: `

    	long convertDaysToMilliseconds(int days) { return 1000L*3600*24*days; }

` or `

    	static final long MILLISECONDS_PER_DAY = 24L*3600*1000;
    	long convertDaysToMilliseconds(int days) { return days * MILLISECONDS_PER_DAY; }

`

## IMSE_DONT_CATCH_IMSE: Dubious catching of IllegalMonitorStateException

IllegalMonitorStateException is generally only thrown in case of a design flaw in your code (calling wait or notify on an object you do not hold a lock on).

## INT_BAD_COMPARISON_WITH_SIGNED_BYTE: Bad comparison of signed byte

Signed bytes can only have a value in the range -128 to 127. Comparing a signed byte with a value outside that range is vacuous and likely to be incorrect. To convert a signed byte `b` to an unsigned value in the range 0..255, use `0xff & b`

## IS2_INCONSISTENT_SYNC: Inconsistent synchronization

The fields of this class appear to be accessed inconsistently with respect to synchronization. This bug report indicates that the bug pattern detector judged that

1. The class contains a mix of locked and unlocked accesses,
2. At least one locked access was performed by one of the class's own methods, and
3. The number of unsynchronized field accesses (reads and writes) was no more than one third of all accesses, with writes being weighed twice as high as reads

A typical bug matching this bug pattern is forgetting to synchronize one of the methods in a class that is intended to be thread-safe.

You can select the nodes labeled "Unsynchronized access" to show the code locations where the detector believed that a field was accessed without synchronization.

Note that there are various sources of inaccuracy in this detector; for example, the detector cannot statically detect all situations in which a lock is held. Also, even when the detector is accurate in distinguishing locked vs. unlocked accesses, the code in question may still be correct.

This description refers to the "IS2" version of the pattern detector, which has more accurate ways of detecting locked vs. unlocked accesses than the older "IS" detector.

## ML_SYNC_ON_UPDATED_FIELD: Method synchronizes on an updated field

This method synchronizes on an object references from a mutable field. This is unlikely to have useful semantics, since different threads may be synchronizing on different objects.

## MS_MUTABLE_ARRAY: Field is a mutable array

A final static field references an array and can be accessed by malicious code or by accident from another package. This code can freely modify the contents of the array.

## MS_SHOULD_BE_FINAL: Field isn't final but should be

A mutable static field could be changed by malicious code or by accident from another package. The field could be made final to avoid this vulnerability.

## MS_FINAL_PKGPROTECT: Field should be both final and package protected

A mutable static field could be changed by malicious code or by accident from another package. The field could be made package protected and/or made final to avoid this vulnerability.

## MS_PKGPROTECT: Field should be package protected

A mutable static field could be changed by malicious code or by accident. The field could be made package protected to avoid this vulnerability.

## MS_EXPOSE_REP: Public static method may expose internal representation by returning array

A public static method returns a reference to an array that is part of the static state of the class. Any code that calls this method can freely modify the underlying array. One fix is to return a copy of the array.

## MWN_MISMATCHED_NOTIFY: Mismatched notify()

This method calls Object.notify() or Object.notifyAll() without obviously holding a lock on the object. Calling notify() or notifyAll() without a lock held will result in an `IllegalMonitorStateException` being thrown.

## MWN_MISMATCHED_WAIT: Mismatched wait()

This method calls Object.wait() without obviously holding a lock on the object. Calling wait() without a lock held will result in an `IllegalMonitorStateException` being thrown.

## NM_CLASS_NAMING_CONVENTION: Class names should start with an upper case letter

Class names should be nouns, in mixed case with the first letter of each internal word capitalized. Try to keep your class names simple and descriptive. Use whole words-avoid acronyms and abbreviations (unless the abbreviation is much more widely used than the long form, such as URL or HTML).

## NM_METHOD_NAMING_CONVENTION: Method names should start with an lower case letter

Methods should be verbs, in mixed case with the first letter lowercase, with the first letter of each internal word capitalized.

## NN_NAKED_NOTIFY: Naked notify

A call to `notify()` or `notifyAll()` was made without any (apparent) accompanying modification to mutable object state. In general, calling a notify method on a monitor is done because some condition another thread is waiting for has become true. However, for the condition to be meaningful, it must involve a heap object that is visible to both threads.

This bug does not necessarily indicate an error, since the change to mutable object state may have taken place in a method which then called the method containing the notification.

## NP_LOAD_OF_KNOWN_NULL_VALUE: Load of known null value

The variable referenced at this point is known to be null due to an earlier check against null. Although this is valid, it might be a mistake (perhaps you intended to refer to a different variable, or perhaps the earlier check to see if the variable is null should have been a check to see if it was nonnull.

## NP_NULL_PARAM_DEREF_NONVIRTUAL: Non-virtual method call passes null for unconditionally dereferenced parameter

A possibly-null value is passed to a method which unconditionally dereferences it. This will almost certainly result in a null pointer exception.

## NP_ALWAYS_NULL: Null pointer dereference

A null pointer is dereferenced here. This will lead to a `NullPointerException` when the code is executed.

## NP_NULL_ON_SOME_PATH: Possible null pointer dereference

A reference value dereferenced here might be null at runtime. This may lead to a `NullPointerException` when the code is executed.

## NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE: Possible null pointer dereference due to return value of called method

A reference value which is null on some exception control path is dereferenced here. This may lead to a `NullPointerException` when the code is executed. The value may be null because it was return from a method which is known to return possibly-null values.

## NP_NULL_ON_SOME_PATH_EXCEPTION: Possible null pointer dereference in method on exception path

A reference value which is null on some exception control path is dereferenced here. This may lead to a `NullPointerException` when the code is executed. Note that because FindBugs currently does not prune infeasible exception paths, this may be a false warning.

Also note that FindBugs considers the default case of a switch statement to be an exception path, since the default case is often infeasible.

## NP_TOSTRING_COULD_RETURN_NULL: toString method may return null

This toString method seems to return null in some circumstances. A liberal reading of the spec could be interpreted as allowing this, but it is probably a bad idea and could cause other code to break. Return the empty string or some other appropriate string rather than null.

## ODR_OPEN_DATABASE_RESOURCE: Method may fail to close database resource

The method creates a database resource (such as a database connection or row set), does not assign it to any fields, pass it to other methods, or return it, and does not appear to close the object on all paths out of the method. Failure to close database resources on all paths out of a method may result in poor performance, and could cause the application to have problems communicating with the database.

## OS_OPEN_STREAM: Method may fail to close stream

The method creates an IO stream object, does not assign it to any fields, pass it to other methods that might close it, or return it, and does not appear to close the stream on all paths out of the method. This may result in a file descriptor leak. It is generally a good idea to use a `finally` block to ensure that streams are closed.

## QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT: Method assigns boolean literal in boolean expression

This method assigns a literal boolean value (true or false) to a boolean variable inside an if or while expression. Most probably this was supposed to be a boolean comparison using ==, not an assignment using =.

## RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE: Nullcheck of value previously dereferenced

A value is checked here to see whether it is null, but this value can't be null because it was previously dereferenced and if it were null a null pointer exception would have occurred at the earlier dereference. Essentially, this code and the previous dereference disagree as to whether this value is allowed to be null. Either the check is redundant or the previous dereference is erroneous.

## RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE: Redundant nullcheck of value known to be non-null

This method contains a redundant check of a known non-null value against the constant null.

## RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE: Redundant nullcheck of value known to be null

This method contains a redundant check of a known null value against the constant null.

## REC_CATCH_EXCEPTION: Exception is caught when Exception is not thrown

This method uses a try-catch block that catches Exception objects, but Exception is not thrown within the try block, and RuntimeException is not explicitly caught. It is a common bug pattern to say try { ... } catch (Exception e) { something } as a shorthand for catching a number of types of exception each of whose catch blocks is identical, but this construct also accidentally catches RuntimeException as well, masking potential bugs.

## RR_NOT_CHECKED: Method ignores results of InputStream.read()

This method ignores the return value of one of the variants of `java.io.InputStream.read()` which can return multiple bytes. If the return value is not checked, the caller will not be able to correctly handle the case where fewer bytes were read than the caller requested. This is a particularly insidious kind of bug, because in many programs, reads from input streams usually do read the full amount of data requested, causing the program to fail only sporadically.

## RV_ABSOLUTE_VALUE_OF_RANDOM_INT: Bad attempt to compute absolute value of signed 32-bit random integer

This code generates a random signed integer and then computes the absolute value of that random integer. If the number returned by the random number generator is `Integer.MIN_VALUE`, then the result will be negative as well (since `Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE`).

## RV_RETURN_VALUE_IGNORED: Method ignores return value

The return value of this method should be checked. One common cause of this warning is to invoke a method on an immutable object, thinking that it updates the object. For example, in the following code fragment,

>     String dateString = getHeaderField(name);
>     dateString.trim();

the programmer seems to be thinking that the trim() method will update the String referenced by dateString. But since Strings are immutable, the trim() function returns a new String value, which is being ignored here. The code should be corrected to:

>     String dateString = getHeaderField(name);
>     dateString = dateString.trim();

## SA_LOCAL_DOUBLE_ASSIGNMENT: Double assignment of local variable

This method contains a double assignment of a local variable; e.g.

      public void foo() {
        int x,y;
        x = x = 17;
      }

Assigning the same value to a variable twice is useless, and may indicate a logic error or typo.

## SC_START_IN_CTOR: Constructor invokes Thread.start()

The constructor starts a thread. This is likely to be wrong if the class is ever extended/subclassed, since the thread will be started before the subclass constructor is started.

## SE_BAD_FIELD_STORE: Non-serializable value stored into instance field of a serializable class

A non-serializable value is stored into a non-transient field of a serializable class.

## SE_BAD_FIELD: Non-transient non-serializable instance field in serializable class

This Serializable class defines a non-primitive instance field which is neither transient, Serializable, or `java.lang.Object`, and does not appear to implement the `Externalizable` interface or the `readObject()` and `writeObject()` methods. Objects of this class will not be deserialized correctly if a non-Serializable object is stored in this field.

## SF_SWITCH_FALLTHROUGH: Switch statement found where one case falls through to the next case

This method contains a switch statement where one case branch will fall through to the next case. Usually you need to end this case with a break or return.

## SIC_INNER_SHOULD_BE_STATIC: Should be a static inner class

This class is an inner class, but does not use its embedded reference to the object which created it. This reference makes the instances of the class larger, and may keep the reference to the creator object alive longer than necessary. If possible, the class should be made static.

## SE_NO_SERIALVERSIONID: Class is Serializable, but doesn't define serialVersionUID

This class implements the `Serializable` interface, but does not define a `serialVersionUID` field. A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to `String.class` will generate a static field `class$java$lang$String`). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.

## SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE: Nonconstant string passed to execute method on an SQL statement

The method invokes the execute method on an SQL statement with a String that seems to be dynamically generated. Consider using a prepared statement instead. It is more efficient and less vulnerable to SQL injection attacks.

## SS_SHOULD_BE_STATIC: Unread field: should this field be static?

This class contains an instance final field that is initialized to a compile-time static value. Consider making the field static.

## ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD: Write to static field from instance method

This instance method writes to a static field. This is tricky to get correct if multiple instances are being manipulated, and generally bad practice.

## STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE: Call to static DateFormat

As the JavaDoc states, DateFormats are inherently unsafe for multithreaded use. The detector has found a call to an instance of DateFormat that has been obtained via a static field. This looks suspicous.

For more information on this see Sun Bug #6231579 and Sun Bug #6178997.

## STCAL_STATIC_SIMPLE_DATA_FORMAT_INSTANCE: Static DateFormat

As the JavaDoc states, DateFormats are inherently unsafe for multithreaded use. Sharing a single instance across thread boundaries without proper synchronization will result in erratic behavior of the application.

You may also experience serialization problems.

Using an instance field is recommended.

For more information on this see Sun Bug #6231579 and Sun Bug #6178997.

## SWL_SLEEP_WITH_LOCK_HELD: Method calls Thread.sleep() with a lock held

This method calls Thread.sleep() with a lock held. This may result in very poor performance and scalability, or a deadlock, since other threads may be waiting to acquire the lock. It is a much better idea to call wait() on the lock, which releases the lock and allows other threads to run.

## TLW_TWO_LOCK_WAIT: Wait with two locks held

Waiting on a monitor while two locks are held may cause deadlock. Performing a wait only releases the lock on the object being waited on, not any other locks. This not necessarily a bug, but is worth examining closely.

## UG_SYNC_SET_UNSYNC_GET: Unsynchronized get method, synchronized set method

This class contains similarly-named get and set methods where the set method is synchronized and the get method is not. This may result in incorrect behavior at runtime, as callers of the get method will not necessarily see a consistent state for the object. The get method should be made synchronized.

## UR_UNINIT_READ: Uninitialized read of field in constructor

This constructor reads a field which has not yet been assigned a value. This is often caused when the programmer mistakenly uses the field instead of one of the constructor's parameters.

## URF_UNREAD_FIELD: Unread field

This field is never read. Consider removing it from the class.

## UUF_UNUSED_FIELD: Unused field

This field is never used. Consider removing it from the class.

## UW_UNCOND_WAIT: Unconditional wait

This method contains a call to `java.lang.Object.wait()` which is not guarded by conditional control flow. The code should verify that condition it intends to wait for is not already satisfied before calling wait; any previous notifications will be ignored.

## UWF_UNWRITTEN_FIELD: Unwritten field

This field is never written. All reads of it will return the default value. Check for errors (should it have been initialized?), or remove it if it is useless.

## WA_NOT_IN_LOOP: Wait not in loop

This method contains a call to `java.lang.Object.wait()` which is not in a loop. If the monitor is used for multiple conditions, the condition the caller intended to wait for might not be the one that actually occurred.