Klocwork 檢查結果解釋


檢查員代碼 描述 默認嚴重性 默認啟用? 可調參數?
ANDROID.LIFECYCLE.SV.FRAGMENTINJ 未經驗證的片段類名稱 1 真正 沒有
ANDROID.LIFECYCLE.SV.GETEXTRA 未經驗證的外部數據 3 真正 沒有
ANDROID.NPE 取消引用Android應用程序中的空值 4 真正
ANDROID.RLK.MEDIAPLAYER 媒體播放器退出時不會被釋放 1 真正
ANDROID.RLK.MEDIARECORDER 媒體記錄器在退出時不會被釋放 1 真正
ANDROID.RLK.SQLCON 退出時不關閉SQL連接 1 真正
ANDROID.RLK.SQLOBJ 退出時不關閉Sql對象 1 真正
ANDROID.UF.BITMAP 使用循環位圖 2 真正
ANDROID.UF.CAMERA 使用已發布的相機 2 真正
ANDROID.UF.MEDIAPLAYER 使用已發布的媒體播放器 2 真正
ANDROID.UF.MEDIARECORDER 使用已發布的媒體記錄器 2 真正
CMP.CLASS 按類名比較 4 沒有
CMPF.FLOAT 應避免對浮點類型進行等式檢查 4 真正 沒有
CMP.OBJ 使用==比較對象 4 真正 沒有
CMP.STR 將字符串與==進行比較 4 真正 沒有
COV.CMP 方法compareTo()應該有簽名'public int compareTo(Object)' 4 真正 沒有
ECC.EMPTY 空捕獲條款 4 真正 沒有
EHC.EQ 類定義hashCode()但不定義equals() 4 真正 沒有
EHC.HASH 類定義equals()但不定義hashCode() 4 真正 沒有
ESCMP.EMPTYSTR 低效的空字符串比較 4 真正 沒有
EXC.BROADTHROWS 方法有一個過於寬泛的拋出聲明 4 真正 沒有
FIN.EMPTY 應刪除空的finalize()方法 3 真正 沒有
FIN.NOSUPER finalize()方法的實現應該調用super.finalize() 3 真正 沒有
FSC.PRT 類及其超類具有相同名稱的受保護字段 4 沒有
FSC.PRV 類及其超類具有相同名稱的私有字段 4 沒有
FSC.PUB 類及其超類具有相同名稱的公共字段 4 沒有
JD.BITCMP 在表達式中使用非短路邏輯 3 真正 沒有
JD.BITMASK 位操作可能出錯 3 真正 沒有
JD.BITR 冗余的表達 3 真正 沒有
JD.CALL.WRONGSTATIC 通過實例引用調用靜態方法 4 真正 沒有
JD.CAST.COL 集合可能的ClassCastException 4 真正 沒有
JD.CAST.KEY 用於從集合中檢索元素的可疑密鑰類型 4 真正 沒有
JD.CAST.SUSP 不同類型可能的ClassCastException 4 真正 沒有
JD.CAST.UPCAST 子類型可能的ClassCastException 4 真正 沒有
JD.CATCH 捕獲運行時異常 4 真正 沒有
JD.CONCUR 可能的ConcurrentModificationException 3 真正 沒有
JD.EQ.ARR 在數組上調用'equals' 4 真正 沒有
JD.EQ.UTA 在不兼容的類型(數組和非數組)上調用'equals' 4 真正 沒有
JD.EQ.UTC 在不兼容的類型上調用equals 4 真正 沒有
JD.FINRET 最后回到里面 4 真正 沒有
JD.IFBAD 冗余'if'語句 3 真正 沒有
JD.IFEMPTY 冗余'if'語句。未完成的代碼 3 真正 沒有
JD.INF.AREC 表觀無限遞歸 4 真正 沒有
JD.INST.TRUE 冗余'instanceof'條件 4 真正 沒有
JD.LIST.ADD 容器增加了自己 4 真正 沒有
JD.LOCK 鎖定沒有解鎖 2 真正
JD.LOCK.NOTIFY 方法'notify'通過持有鎖來調用 4 真正 沒有
JD.LOCK.SLEEP 方法'sleep'用鎖定調用 4 真正 沒有
JD.LOCK.WAIT 方法'wait'在持有鎖的情況下調用 4 真正 沒有
JD.METHOD.CBS 方法可以是靜態的 4 沒有
JD.NEXT 可能'NoSuchElementException' 4 真正
JD.OVER 不匹配的覆蓋 4 真正 沒有
JD.RC.EXPR.CHECK 測試表達總是正確的 4 真正 沒有
JD.RC.EXPR.DEAD 冗余檢查導致死代碼 4 沒有
JD.ST.POS 方法'indexOf'的檢查不正確 4 真正 沒有
JD.SYNC.DCL 雙重檢查鎖定 4 真正 沒有
JD.SYNC.IN 同步不一致 4 真正 沒有
JD.THREAD.RUN 顯式調用'Thread.run'方法 4 真正 沒有
JD.UMC.FINALIZE 顯式調用方法'Object.finalize' 3 真正 沒有
JD.UMC.RUNFIN 調用runFinalizersOnExit() 3 真正 沒有
JD.UMC.WAIT 等待調用不正確的對象 4 真正 沒有
JD.UNCAUGHT 未捕獲的異常 4 真正 沒有
JD.UN.MET 未使用的非私有方法 4 沒有
JD.UNMOD 修改不可修改的集合 2 真正
JD.UN.PMET 未使用的私有方法 3 真正 沒有
JD.VNU 分配后從未讀取變量 4 真正 沒有
JD.VNU.NULL 在分配null之后,永遠不會讀取變量 4 真正 沒有
MNA.CAP 方法名稱應以非大寫字母開頭 4 真正 沒有
MNA.CNS 方法名稱與構造函數名稱相同,但它不是構造函數 4 真正 沒有
MNA.SUS 可疑的方法名稱 4 真正 沒有
NPE.COND 空指針取消引用,其中null來自條件 1 真正
NPE.CONST 空指針取消引用,其中null來自常量 1 真正
NPE.RET 取消引用從方法返回的空值 1 真正
NPE.RET.UTIL 取消引用從地圖或集合返回的空值 1 真正
NPE.STAT 空指針取消引用返回值(統計) 4
REDUN.DEF 表達式賦予自身 4 真正 沒有
REDUN.EQ 可疑的equals()在兩邊都用相同的表達式調用 4 真正 沒有
REDUN.EQNULL 用表達式調用的可疑equals()和null(從不為真) 4 真正 沒有
REDUN.FINAL 冗余'最終'修飾符 4 真正 沒有
REDUN.NULL 使用變量而不是null常量 4 真正 沒有
REDUN.OP 雙方同樣表達的可疑操作 4 真正 沒有
RI.IGNOREDCALL 忽略在不可變對象上調用的方法返回的值 4 真正 沒有
RI.IGNOREDNEW 新創建的對象將被忽略 4 真正 沒有
RLK.AWT AWT對象未在出口處處理 1 真正
RLK.FIELD 存儲在字段中的系統資源可能泄漏 4 真正 沒有
RLK.HIBERNATE 退出時不關閉Hibernate對象 1 真正
RLK.IMAGEIO 退出時不關閉ImageIO流 1 真正
RLK.IN 輸出流在退出時未關閉 1 真正
RLK.JNDI 退出時不關閉JNDI上下文 1 真正
RLK.MAIL 退出時不關閉Java郵件對象 1 真正
RLK.MICRO 退出時未關閉Java Microedition連接 1 真正
RLK.NIO 退出時NIO對象未關閉 1 真正
RLK.OUT 退出時不關閉輸出流 1 真正
RLK.SOCK 插座未在退出時關閉 1 真正
RLK.SQLCON 退出時不關閉SQL連接 1 真正
RLK.SQLOBJ 退出時不關閉Sql對象 1 真正
RLK.SWT SWT對象未在出口處放置 1 真正
RLK.ZIP Zip文件在退出時未關閉 1 真正
RNU.THIS 比較這和null但不能為空 4 真正 沒有
RR.IGNORED 返回的值將被忽略 4 真正 沒有
RTC.CALL 類型轉換是多余的 4 真正 沒有
STRCON.LOOP 在循環中使用append for string 4 真正 沒有
SV.CLASSDEF.INJ 運行時類定義注入 2 真正 沒有
SV.CLASSLOADER.INJ 類加載器URL注入 2 真正 沒有
SV.CLEXT.CLLOADER 類擴展'java.lang.ClassLoader' 4 沒有
SV.CLEXT.POLICY 類擴展'java.security.Policy' 4 沒有
SV.CLLOADER 直接使用Classloader 4 沒有
SV.CLONE.SUP 類實現'clone'方法但不實現Cloneable 4 沒有
SV.CSRF.GET GET請求中的CSRF令牌 4
SV.CSRF.ORIGIN 沒有原始檢查的請求處理程序 4
SV.CSRF.TOKEN 狀態更改請求處理程序沒有CSRF檢查 4
SV.DATA.BOUND 不受信任的數據泄漏到可信存儲中 3 真正
SV.DATA.DB 數據注入 2 真正
SV.DOS.ARRINDEX 用於陣列訪問的污點索引 3 真正
SV.DOS.ARRSIZE 用於陣列分配的污點大小 3 真正
SV.DOS.TMPFILEDEL 保留JVM生命周期的臨時文件 3 真正
SV.DOS.TMPFILEEXIT 留下臨時檔案 3 真正
SV.ECV 空證書驗證 4 沒有
SV.EMAIL 未經檢查的電子郵件 2 真正
SV.EXEC 工藝注射 2 真正
SV.EXEC.DIR 工藝注射。工作目錄 2 真正
SV.EXEC.ENV 工藝注射。環境變量 2 真正
SV.EXEC.LOCAL 工藝注射。本地論點 3 真正 沒有
SV.EXPOSE.FIELD 靜態字段可能被惡意代碼更改 4 沒有
SV.EXPOSE.FIN 方法finalize()應該有受保護的訪問修飾符,而不是public 4 沒有
SV.EXPOSE.IFIELD 實例字段應該是最終的 4 沒有
SV.EXPOSE.MUTABLEFIELD 惡意代碼可以訪問靜態可變字段 4 沒有
SV.EXPOSE.RET 內部代表可能會暴露 4 沒有
SV.EXPOSE.STORE 方法存儲對可變對象的引用 4 沒有
SV.HASH.NO_SALT 使用沒有鹽的單向加密哈希 3 真正 沒有
SV.HTTP_SPLIT Http響應分裂 2 真正
SV.IL.DEV 設計信息泄漏 3 真正
SV.IL.FILE 文件名泄漏 3 真正
SV.INT_OVF 受污染的數據可能會導致整數溢出 2 真正
SV.LDAP 未經驗證的用戶輸入用作LDAP過濾器 2 真正
SV.LOG_FORGING 原木鍛造 3 真正
SV.PASSWD.HC 硬編碼密碼 2 真正
SV.PASSWD.HC.EMPTY 空密碼 2 真正
SV.PASSWD.PLAIN 純文本密碼 2 真正
SV.PATH 路徑和文件名注入 3 真正
SV.PATH.INJ 文件注入 3 真正
SV.RANDOM 使用不安全的隨機數發生器 4 真正 沒有
SV.SCRIPT 腳本執行 2 真正
SV.SENSITIVE.DATA 寫入未加密的敏感數據 2 真正
SV.SENSITIVE.OBJ 存儲具有未加密的敏感數據的對象 2 真正
SV.SERIAL.INON 接口擴展'Serializable' 4 沒有
SV.SERIAL.NON 類實現'Serializable' 4 沒有
SV.SERIAL.NOREAD 方法readObject()應該為可序列化的類定義 4 沒有
SV.SERIAL.NOWRITE 應為可序列化類定義writeObject()方法 4 沒有
SV.SERIAL.SIG 可序列化類中的readObject()和writeObject()方法應具有正確的簽名 4 沒有
SV.SHARED.VAR 從servlet非同步訪問靜態變量 4 真正 沒有
SV.SOCKETS 不良做法:使用套接字 4 沒有
SV.SQL Sql注入 2 真正
SV.SQL.DBSOURCE SQL語句中使用來自數據庫的未經檢查的信息 3 真正
SV.STRBUF.CLEAN 字符串緩沖區未清理 3
SV.STRUTS.NOTRESET Struts Forms:不一致的重置 4 沒有
SV.STRUTS.NOTVALID Struts表單:不一致的驗證 4 沒有
SV.STRUTS.PRIVATE Struts表單:非私有字段 4 沒有
SV.STRUTS.RESETMET Struts Forms:重置方法 4 沒有
SV.STRUTS.STATIC Struts表單:靜態字段 4 沒有
SV.STRUTS.VALIDMET Struts Forms:驗證方法 4 沒有
SV.TAINT 污染的數據 3
SV.TAINT_NATIVE 受污染的數據轉到本機代碼 3 真正
SV.TMPFILE 臨時文件路徑篡改 3 真正
SV.UMC.EXIT 不應在servlet代碼中使用System.exit()和Runtime.exit()方法調用 4 沒有
SV.UMC.JDBC 應用程序應避免直接調用DriverManager.getConnection() 4 沒有
SV.UMC.THREADS 糟糕的做法:使用線程管理 4 沒有
SV.UMD.MAIN 剩下的調試代碼 - 主要方法 4 沒有
SV.USE.POLICY 直接使用政策方法 4 沒有
SV.WEAK.CRYPT 使用破碎或危險的密碼算法 3 真正 沒有
SV.XPATH 未經驗證的用戶輸入用作XPath表達式 2 真正
SV.XSS.DB 跨站點腳本(存儲的XSS) 2 真正
SV.XSS.REF 跨站點腳本(反射XSS) 2 真正
SYNCH.NESTED 同步方法使用相同的鎖定調用另一個同步方法 4 真正 沒有
SYNCH.NESTEDS 同步靜態方法使用相同的鎖定調用另一個同步靜態方法 4 真正 沒有
UC.BOOLB 從布爾表達式中不必要地創建新的Boolean對象 4 真正 沒有
UC.BOOLS 從字符串表達式中不必要地創建新的Boolean對象 4 真正 沒有
UC.STRS 從字符串表達式中不必要地創建新的String對象 4 真正 沒有
UC.STRV 不必要的創建空String對象 4 真正 沒有
UF.IMAGEIO 使用已關閉的ImageIO流 2 真正 沒有
UF.IN 封閉輸入流的使用 2 真正 沒有
UF.JNDI 使用已關閉的JNDI上下文 2 真正 沒有
UF.MAIL 使用已關閉的Java郵件對象 2 真正 沒有
UF.MICRO 使用已關閉的Java Microedition連接 2 真正 沒有
UF.NIO 使用已關閉的NIO對象 2 真正 沒有
UF.OUT 使用封閉的輸出流 2 真正 沒有
UF.SOCK 封閉插座的用法 2 真正 沒有
UF.SQLCON 使用封閉的SQL連接 2 真正 沒有
UF.SQLOBJ 使用已關閉的SQL對象 2 真正 沒有
UF.ZIP 使用封閉的zip文件 2 真正 沒有
UMC.EXIT System.exit()方法調用是不需要的 4 沒有
UMC.GC System.gc()方法調用是不需要的 4 沒有
UMC.SYSERR 使用System.err方法調用的調試打印是不需要的 4 沒有
UMC.SYSOUT 使用System.out方法調用的調試打印是不需要的 4 沒有
UMC.TOSTRING 不必要的toString()方法調用String參數 4 真正 沒有


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM