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 真正 没有
posted @ 2020-01-06 16:11  lisongyu  阅读(1729)  评论(0编辑  收藏  举报