FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.2.0

Threshold is Low

Effort is Default

Summary

ClassesBugsErrorsMissing Classes
3746200

Files

ClassBugs
javax.microedition.lcdui.Alert$11
javax.microedition.lcdui.ChoiceGroup1
javax.microedition.lcdui.ChoiceGroup$ImplicitListener1
javax.microedition.lcdui.DateCanvas4
javax.microedition.lcdui.DateField2
javax.microedition.lcdui.Display2
javax.microedition.lcdui.Display$PaintTask1
javax.microedition.lcdui.Gauge1
javax.microedition.lcdui.Alert2
javax.microedition.lcdui.StringComponent1
javax.microedition.lcdui.TimeCanvas3
javax.microedition.lcdui.game.GameCanvas$KeyAccess1
javax.microedition.lcdui.game.Layer2
javax.microedition.lcdui.game.Sprite3
javax.microedition.lcdui.game.TiledLayer5
javax.microedition.lcdui.game.Sprite1
javax.microedition.lcdui.game.TiledLayer3
javax.microedition.media.MidiAudioPlayer1
javax.microedition.media.SampledAudioPlayer1
javax.microedition.midlet.MIDlet$MIDletAccessor1
javax.microedition.pki.CertificateException1
javax.microedition.rms.RecordStore1
org.microemu.device.InputMethod2
org.microemu.device.InputMethodEvent1
org.microemu.midp.media.BasicPlayer8
org.microemu.midp.media.audio.PCTone3
org.microemu.midp.media.audio.PCToneControl2
org.microemu.midp.media.audio.PCTonePlayer2
org.microemu.util.RecordEnumerationImpl$EnumerationRecord1
org.microemu.util.RecordStoreImpl4

javax.microedition.lcdui.Alert$1

BugCategoryDetailsLine
Unchecked/unconfirmed cast from javax.microedition.lcdui.Displayable to javax.microedition.lcdui.Alert in javax.microedition.lcdui.Alert$1.commandAction(Command, Displayable)STYLEBC_UNCONFIRMED_CAST56

javax.microedition.lcdui.ChoiceGroup

BugCategoryDetailsLine
Dead store to x in javax.microedition.lcdui.ChoiceGroup.getItemIndexAt(int, int)STYLEDLS_DEAD_LOCAL_STORE495

javax.microedition.lcdui.ChoiceGroup$ImplicitListener

BugCategoryDetailsLine
Unchecked/unconfirmed cast from javax.microedition.lcdui.Displayable to javax.microedition.lcdui.List in javax.microedition.lcdui.ChoiceGroup$ImplicitListener.commandAction(Command, Displayable)STYLEBC_UNCONFIRMED_CAST767

javax.microedition.lcdui.DateCanvas

BugCategoryDetailsLine
Inconsistent synchronization of javax.microedition.lcdui.DateCanvas.day; locked 80% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC284
Inconsistent synchronization of javax.microedition.lcdui.DateCanvas.month; locked 78% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC287
Inconsistent synchronization of javax.microedition.lcdui.DateCanvas.selected; locked 72% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC319
Inconsistent synchronization of javax.microedition.lcdui.DateCanvas.year; locked 76% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC290

javax.microedition.lcdui.DateField

BugCategoryDetailsLine
javax.microedition.lcdui.DateField.getDate() may expose internal representation by returning DateField.dateMALICIOUS_CODEEI_EXPOSE_REP107
javax.microedition.lcdui.DateField.setDate(Date) may expose internal representation by storing an externally mutable object into DateField.dateMALICIOUS_CODEEI_EXPOSE_REP2113

javax.microedition.lcdui.Display

BugCategoryDetailsLine
Possible null pointer dereference of Display.current in javax.microedition.lcdui.Display.updateCommands()CORRECTNESSNP_NULL_ON_SOME_PATH793
Write to static field javax.microedition.lcdui.Alert.nextDisplayable from instance method javax.microedition.lcdui.Display.setCurrent(Alert, Displayable)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD696

javax.microedition.lcdui.Display$PaintTask

BugCategoryDetailsLine
Should javax.microedition.lcdui.Display$PaintTask be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available

javax.microedition.lcdui.Gauge

BugCategoryDetailsLine
Unread field: javax.microedition.lcdui.Gauge.PAINT_TIMEOUTPERFORMANCEURF_UNREAD_FIELD44

javax.microedition.lcdui.Alert

BugCategoryDetailsLine
Unwritten field: javax.microedition.lcdui.Gauge.prefHeightCORRECTNESSUWF_UNWRITTEN_FIELD168
Unwritten field: javax.microedition.lcdui.Gauge.prefWidthCORRECTNESSUWF_UNWRITTEN_FIELD168

javax.microedition.lcdui.StringComponent

BugCategoryDetailsLine
Inconsistent synchronization of javax.microedition.lcdui.StringComponent.text; locked 88% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC123

javax.microedition.lcdui.TimeCanvas

BugCategoryDetailsLine
Inconsistent synchronization of javax.microedition.lcdui.TimeCanvas.hours; locked 66% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC503
Inconsistent synchronization of javax.microedition.lcdui.TimeCanvas.minutes; locked 66% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC506
Inconsistent synchronization of javax.microedition.lcdui.TimeCanvas.selected; locked 80% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC533

javax.microedition.lcdui.game.GameCanvas$KeyAccess

BugCategoryDetailsLine
Inconsistent synchronization of javax.microedition.lcdui.game.GameCanvas.actualKeyState; locked 50% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC81

javax.microedition.lcdui.game.Layer

BugCategoryDetailsLine
Inconsistent synchronization of javax.microedition.lcdui.game.Layer.x; locked 75% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC61
Inconsistent synchronization of javax.microedition.lcdui.game.Layer.y; locked 75% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC65

javax.microedition.lcdui.game.Sprite

BugCategoryDetailsLine
Dead store to img in javax.microedition.lcdui.game.Sprite.collidesWith(Object, int, int)STYLEDLS_DEAD_LOCAL_STORE645
javax.microedition.lcdui.game.Sprite.setFrameSequence(int[]) may expose internal representation by storing an externally mutable object into Sprite.sequenceMALICIOUS_CODEEI_EXPOSE_REP2260
Inconsistent synchronization of javax.microedition.lcdui.game.Sprite.img; locked 50% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC382

javax.microedition.lcdui.game.TiledLayer

BugCategoryDetailsLine
Dead store to cH in javax.microedition.lcdui.game.TiledLayer.paint(Graphics)STYLEDLS_DEAD_LOCAL_STORE231
Dead store to cW in javax.microedition.lcdui.game.TiledLayer.paint(Graphics)STYLEDLS_DEAD_LOCAL_STORE230
Dead store to cX in javax.microedition.lcdui.game.TiledLayer.paint(Graphics)STYLEDLS_DEAD_LOCAL_STORE228
Dead store to cY in javax.microedition.lcdui.game.TiledLayer.paint(Graphics)STYLEDLS_DEAD_LOCAL_STORE229
Dead store to imgRows in javax.microedition.lcdui.game.TiledLayer.paint(Graphics)STYLEDLS_DEAD_LOCAL_STORE256

javax.microedition.lcdui.game.Sprite

BugCategoryDetailsLine
Inconsistent synchronization of javax.microedition.lcdui.game.TiledLayer.img; locked 90% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC645

javax.microedition.lcdui.game.TiledLayer

BugCategoryDetailsLine
Inconsistent synchronization of javax.microedition.lcdui.game.TiledLayer.tileHeight; locked 50% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC209
Inconsistent synchronization of javax.microedition.lcdui.game.TiledLayer.tileWidth; locked 50% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC205
Self assignment of field TiledLayer.img in javax.microedition.lcdui.game.TiledLayer.setStaticTileSet(Image, int, int)CORRECTNESSSA_FIELD_SELF_ASSIGNMENT154

javax.microedition.media.MidiAudioPlayer

BugCategoryDetailsLine
Should javax.microedition.media.MidiAudioPlayer.getControls() return a zero length array rather than null?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS169

javax.microedition.media.SampledAudioPlayer

BugCategoryDetailsLine
Should javax.microedition.media.SampledAudioPlayer.getControls() return a zero length array rather than null?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS189

javax.microedition.midlet.MIDlet$MIDletAccessor

BugCategoryDetailsLine
The class javax.microedition.midlet.MIDlet$MIDletAccessor could be refactored into a _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_NEEDS_THISNot available

javax.microedition.pki.CertificateException

BugCategoryDetailsLine
Class javax.microedition.pki.CertificateException defines non-transient non-serializable instance field certificateBAD_PRACTICESE_BAD_FIELDNot available

javax.microedition.rms.RecordStore

BugCategoryDetailsLine
Should javax.microedition.rms.RecordStore.getRecord(int) return a zero length array rather than null?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS193

org.microemu.device.InputMethod

BugCategoryDetailsLine
Method org.microemu.device.InputMethod.validate(String, int) uses the same code for two switch clausesSTYLEDB_DUPLICATE_SWITCH_CLAUSES98
Unread field: org.microemu.device.InputMethod.inputMethodPERFORMANCEURF_UNREAD_FIELD33

org.microemu.device.InputMethodEvent

BugCategoryDetailsLine
Unread field: org.microemu.device.InputMethodEvent.typePERFORMANCEURF_UNREAD_FIELD36

org.microemu.midp.media.BasicPlayer

BugCategoryDetailsLine
Inconsistent synchronization of org.microemu.midp.media.BasicPlayer.state; locked 50% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC67
Inconsistent synchronization of org.microemu.midp.media.BasicPlayer.timeBase; locked 50% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC87
org.microemu.midp.media.BasicPlayer.CONTROL_TYPE isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL30
org.microemu.midp.media.BasicPlayer.getListenersVector() is unsynchronized, org.microemu.midp.media.BasicPlayer.setListenersVector(Vector) is synchronizedMT_CORRECTNESSUG_SYNC_SET_UNSYNC_GET124
org.microemu.midp.media.BasicPlayer.getLoopCount() is unsynchronized, org.microemu.midp.media.BasicPlayer.setLoopCount(int) is synchronizedMT_CORRECTNESSUG_SYNC_SET_UNSYNC_GET114
org.microemu.midp.media.BasicPlayer.getMediaTime() is unsynchronized, org.microemu.midp.media.BasicPlayer.setMediaTime(long) is synchronizedMT_CORRECTNESSUG_SYNC_SET_UNSYNC_GET82
org.microemu.midp.media.BasicPlayer.getState() is unsynchronized, org.microemu.midp.media.BasicPlayer.setState(int) is synchronizedMT_CORRECTNESSUG_SYNC_SET_UNSYNC_GET67
org.microemu.midp.media.BasicPlayer.getTimeBase() is unsynchronized, org.microemu.midp.media.BasicPlayer.setTimeBase(TimeBase) is synchronizedMT_CORRECTNESSUG_SYNC_SET_UNSYNC_GET87

org.microemu.midp.media.audio.PCTone

BugCategoryDetailsLine
Dead store to amplify in org.microemu.midp.media.audio.PCTone.play(double, double, double)STYLEDLS_DEAD_LOCAL_STORE87
Dead store to d_sampleRate in org.microemu.midp.media.audio.PCTone.play(double, double, double)STYLEDLS_DEAD_LOCAL_STORE89
Dead store to $L18 in org.microemu.midp.media.audio.PCTone.play(double, double, double)STYLEDLS_DEAD_LOCAL_STORE96

org.microemu.midp.media.audio.PCToneControl

BugCategoryDetailsLine
org.microemu.midp.media.audio.PCToneControl.getSequence() may expose internal representation by returning PCToneControl.sequenceMALICIOUS_CODEEI_EXPOSE_REP39
org.microemu.midp.media.audio.PCToneControl.setSequence(byte[]) may expose internal representation by storing an externally mutable object into PCToneControl.sequenceMALICIOUS_CODEEI_EXPOSE_REP234

org.microemu.midp.media.audio.PCTonePlayer

BugCategoryDetailsLine
Dead store to $L2 in org.microemu.midp.media.audio.PCTonePlayer.run()STYLEDLS_DEAD_LOCAL_STORE187
Should org.microemu.midp.media.audio.PCTonePlayer.getControls() return a zero length array rather than null?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS104

org.microemu.util.RecordEnumerationImpl$EnumerationRecord

BugCategoryDetailsLine
Should org.microemu.util.RecordEnumerationImpl$EnumerationRecord be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available

org.microemu.util.RecordStoreImpl

BugCategoryDetailsLine
Inconsistent synchronization of org.microemu.util.RecordStoreImpl.lastModified; locked 80% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC99
Inconsistent synchronization of org.microemu.util.RecordStoreImpl.nextRecordID; locked 83% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC100
Inconsistent synchronization of org.microemu.util.RecordStoreImpl.version; locked 87% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC98
org.microemu.util.RecordStoreImpl.RecordStoreImpl(RecordStoreManager, DataInputStream) ignores result of java.io.DataInputStream.read(byte[], int, int)BAD_PRACTICERR_NOT_CHECKED86