手机版
您的当前位置: 十九范文网 > 专题范文 > 其他范文 > klocwork扫描规则错误对照表(全文完整)

klocwork扫描规则错误对照表(全文完整)

来源:网友投稿 时间:2022-07-12

下面是小编为大家整理的klocwork扫描规则错误对照表(全文完整),供大家参考。

klocwork扫描规则错误对照表(全文完整)

 

 检查类型 中文具体描述ANDROID.NPE 在一个 Androind 应用程序中一个空值的解引用ANDROID.RLK.MEDIAPLAYER 媒体播放器在退出时没有被释放ANDROID.RLK.MEDIARECORDER 媒体录影机在退出时没有被释放ANDROID.RLK.SQLCON SQL 连接在退出时没有被关闭ANDROID.RLK.SQLOBJ SQL 对象在退出时没有被关闭ANDROID.UF.BITMAP 循环位图的使用ANDROID.UF.CAMERA 已发布相机的使用ANDROID.UF.MEDIAPLAYER 已发布媒体播放器的使用ANDROID.UF.MEDIARECORDER 已发布媒体播放器的使用CMP.CLASS 通过类名来比较CMP.OBJ 用==号来比较对象CMP.STR 用==号来比较字符串CMPF.FLOAT 在浮点类型中等式的检查COV.CMP 方法 compareTo()应该有签名"公共的 int compareTo(对象)ECC.EMPTYEmpty catch clause(空的 catch 从句)EHC.EQ 类定义了 hashCode(),但是没有定义 equals()EHC.HASH 类定义了 equal(),但是没有定义 hashCode()ESCMP.EMPTYSTR 无效的空字符串比较EXC.BROADTHROWS 方法有一个过宽泛的 throws 声明FIN.EMPTYEmpty finalize() method(空的 finalize()方法)FIN.NOSUPER 在没有调用 super.finalize()时对 finalize()的实现FSC.PRT 类和它的父类中有同名的受保护的字段FSC.PRV 类和它的父类中有同名的私有的字段FSC.PUB 类和它的父类中有同名的公共的字段JD.BITCMP 在表达式中使用非短路逻辑JD.BITMASK 在位操作中可能的错误JD.BITRRedundant expression(多余的表达式)JD.CALL.WRONGSTATIC 通过实例引用来调用静态的方法JD.CAST.COL 针对集合中可能的类抛出异常JD.CAST.KEY 把可疑的关键类型用来从集合中获得元素JD.CAST.SUSP 针对不同类型可能的类抛出异常JD.CAST.UPCAST 针对子类型可能的类抛出异常JD.CATCH 捕捉运行时间异常JD.CONCUR 可能的并行调整异常

 JD.EQ.ARR 在数组中调用"equals"JD.EQ.UTA 在不兼容的类型(数组和非数组)中调用"equals"JD.EQ.UTC 在不兼容的类型中调用等式JD.FINRET 最终返回到内部JD.IFBAD 多余的"if"语句JD.IFEMPTY 多余的"if"语句。未完成的代码JD.INF.AREC 明显的无限递归JD.INST.TRUE 多余的"instanceof"条件JD.LIST.ADD 把容器添加到自身JD.LOCK 在未锁的情况下上锁JD.LOCK.NOTIFY 用已持有的锁来调用方法"notify"JD.LOCK.SLEEP 用已持有的锁来调用方法"sleep"JD.LOCK.WAIT 用已持有的锁来调用方法"wait"JD.NEXT 可能的"没有此元素异常"JD.OVER 不匹配的覆盖JD.RC.EXPR.CHECK 测试表达式始终是正确的JD.RC.EXPR.DEAD 导致死代码的多余的检查JD.ST.POS 针对方法"indexOf"不正确的检查JD.SYNC.DCL 已双重检查过的锁定JD.SYNC.IN 不一致的同步JD.THREAD.RUN 直接调用一个"Thread.run"方法JD.UMC.FINALIZE 直接调用方法"Objent.finalize"JD.UMC.RUNFIN 调用 runFinalizedOnExit()JD.UMC.WAIT Wait 被调用在不正确的对象中JD.UN.MET 未使用的非私有的方法JD.UN.PMET 未使用私有方法JD.UNCAUGHT 未被捕捉到的异常JD.UNMOD 无法改变地址的调整JD.VNU 变量在被分配后从未被读取JD.VNU.NULL 变量在空值被分配后从未被读取MNA.CAP 方法名称应该以非大写字母开始MNA.CNS 方法名称与结构名称相同,但不是一个结构体MNA.SUS 可疑的方法名称NPE.COND 在空值来自的条件句中发生空指针解引用NPE.CONST 在空值来自的常量中发生空指针解引用NPE.RET 来自一个方法中的空值的解引用NPE.RET.UTIL 来自一个映射或者一个集合的一个空值的解引用NPE.STAT 一个返回值(静态的)的空指针解引用

 REDUN.DEF 表达式分配给自身REDUN.EQ 在两边使用相同的表达式来调用可疑的 equals()REDUN.EQNULL 用表达式和空值(从未正确)来调用可疑的 equals()REDUN.FINAL 多余的"final"修饰语REDUN.NULL 使用变量,而不是空的常量REDUN.OP 在同样表达式的两边使用可疑的操作符RI.IGNOREDCALL 一个被调用在不变对象上的方法的返回值被忽略RI.IGNOREDNEW 新创建的对象被忽略RLK.AWT AWT 对象在退出时没有被处理RLK.FIELD 储存在一个字段的系统资源发生可能的泄露RLK.HIBERNATE 潜伏对象在退出时没有被关闭RLK.IMAGEIO ImageIO 流在退出时没有被关闭RLK.IN 输入流在退出时没有被关闭RLK.JNDI JNDI 上下文在退出时没有被关闭RLK.MAIL Java 邮件对象在退出时没有被关闭RLK.MICRO Java Microedition 连接在退出时没有被关闭RLK.NIO NIO 对象在退出时没有被关闭RLK.OUT 输出流在退出时没有被关闭RLK.SOCK Socket 在退出时没有被关闭RLK.SQLCON SQL 连接在退出时没有被关闭RLK.SQLOBJ SQL 对象在退出时没有被关闭RLK.SWT SWT 对象在退出时没有被处理RLK.ZIP Zip 文件在退出时没有被关闭RNU.THIS this 和 null 的比较,但是 this 不能为 nullRR.IGNORED 已返回的值被忽略RTC.CALL 抛出的类型是多余的STRCON.LOOP 在一个循环体中针对字符串使用附加SV.CLEXT.CLLOADER 类扩展为"java.lang.ClassLoader"SV.CLEXT.POLICY 类扩展为"java.security.PolicySV.CLLOADER 类别载入器的直接使用SV.CLONE.SUP 类实施"clone"方法,但是不实施 Clonable 方法SV.DATA.BOUND 在可信用的储存中出现不信任的数据泄露SV.DATA.DB 数据注入SV.DOS.ARRINDEX 将已污染的指标用作数组存取SV.DOS.ARRSIZE 将已污染的尺寸用作数组分配SV.DOS.TMPFILEDEL 为了 JVM 的寿命舍去临时文件SV.DOS.TMPFILEEXIT 去除临时文件SV.EMAIL 未检查的电子邮件SV.EXEC 过程注入SV.EXEC.DIR 过程注入。工作目录SV.EXEC.ENV 过程注入。环境变量。SV.EXPOSE.FIELD 静态字段被恶意的代码给修改SV.EXPOSE.FIN 方法 finalize()应该有受保护的进入修饰语,而不是公共的修饰语

 SV.EXPOSE.IFIELD 实例字段应该被制成 finalSV.EXPOSE.MUTABLEFIELD 静态可变的字段可能被恶意的代码入侵SV.EXPOSE.RET 内部表示可能被暴露SV.EXPOSE.STORE 方法储存引用可变的对象SV.HTTP_SPLIT HTTP 相应拆分攻击SV.IL.DEV 设计信息泄露SV.IL.FILE 文件名泄露SV.INT_OVF 感染数据可能导致整数溢出SV.LDAP 未验证的用户输入被用来作为 LDAP 过滤器SV.LOG_FORGING 伪造日志SV.PASSWD.HC 硬编码密码SV.PASSWD.HC.EMPTY 空密码SV.PASSWD.PLAIN 普通字符密码SV.PATH 路径和文件名注入SV.PATH.INJ 文件名注入SV.RANDOM 使用不安全的随机数字生成 器SV.SERIAL.INON 界面扩展为"Serializable"SV.SERIAL.NON 类实施"Serializable"SV.SERIAL.NOREAD 方法 readObject()应该被定义为一个序列化的类SV.SERIAL.NOWRITE 方法 writeObject()应该被定义为一个序列化的类SV.SERIAL.SIG 在序列类中方法 readObject()和 writeObject()应该有正确的特征SV.SHARED.VAR 未同步地进入控制器中的静态变量SV.SOCKETS 错误的实践:使用 socketSV.SQL SQL 注入SV.SQL.DBSOURCE 把来自数据库中未检查的信息用在 SQL 语句中SV.STRBUF.CLEAN 字符串缓冲区没有被清扫SV.STRUTS.NOTRESET 源代码形式:不一致的重置SV.STRUTS.NOTVALID 源代码形式:不一致的验证SV.STRUTS.PRIVATE 源代码形式:非私有的字段SV.STRUTS.RESETMET 源代码形式:重置的方法SV.STRUTS.STATIC 源代码形式:静态的字段SV.STRUTS.VALIDMET 源代码形式:验证方法SV.TAINTTainted data(被污染的数据)SV.TAINT_NATIVE 被污染的数据进入本地代码中SV.TMPFILE 临时文件路径损坏SV.UMC.EXIT System.exit()和 Runtime.exit()方法的调用不应该被使用在控制器模式SV.UMC.JDBC 应用程序应该避免直接调用 DriverManager.getConnection()SV.UMC.THREADS 错误的实践:使用线程管理SV.UMD.MAIN 残余的调试模式-主要的方法SV.USE.POLICY 直接使用 Policy 的方法SV.XPATH 未验证的用户输入被用来作为 Xpath 表达式

 SV.XSS.DB 跨站点的脚本语言(已储存的 XSS)SV.XSS.REF 跨站点的脚本语言(已反映的 XSS)SYNCH.NESTED 已同步的方法用同样已持有的锁来调用另一个已同步的方法SYNCH.NESTEDS 已同步的静态方法用同样已持有的锁来调用另一个已同步的静态的方法UC.BOOLB 从一个布尔表达式中不必要地创建新的布尔表达式UC.BOOLS 从一个字符串表达式中不必要地创建新的布尔对象UC.STRS 从一个字符表达式中不必要地创建新的字符串对象UC.STRV 不必要地创建空的字符串对象UF.IMAGEIO 已关闭的 ImageIO 流的使用UF.IN 已关闭的输入流的使用UF.JNDI 已关闭的 JNDI 上下文的使用UF.MAIL 已关闭的 Java 邮件对象的使用UF.MICRO 已关闭的 Java Microedition 连接的使用UF.NIO 已关闭的 NIO 对象的使用UF.OUT 已关闭的输出流的使用UF.SOCK 已关闭的 socket 的使用UF.SQLCON 已关闭的 SQL 连接的使用UF.SQLOBJ 已关闭的 SQL 对象的使用UF.ZIP 已关闭的 zip 文件的使用UMC.EXIT System.exit()和 Runtime.exit()方法的调用不应该被使用在控制器模式UMC.GC System.gc()方法调用是不需要的UMC.SYSERR 使用 System.err 方法调用的调试打印是不需要的UMC.SYSOUT 使用 System.out 方法调用的调试打印是不需要的UMC.TOSTRING 不需要的 toString()方法需要一个字符串参数

推荐访问:对照表 扫描 规则

推荐内容

十九范文网 www.ib19.com

Copyright © 2002-2018 . 十九范文网 版权所有

Top