您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > klocwork扫描规则错误对照表
检查类型中文具体描述ANDROID.NPE在一个Androind应用程序中一个空值的解引用ANDROID.RLK.MEDIAPLAYER媒体播放器在退出时没有被释放ANDROID.RLK.MEDIARECORDER媒体录影机在退出时没有被释放ANDROID.RLK.SQLCONSQL连接在退出时没有被关闭ANDROID.RLK.SQLOBJSQL对象在退出时没有被关闭ANDROID.UF.BITMAP循环位图的使用ANDROID.UF.CAMERA已发布相机的使用ANDROID.UF.MEDIAPLAYER已发布媒体播放器的使用ANDROID.UF.MEDIARECORDER已发布媒体播放器的使用CMP.CLASS通过类名来比较CMP.OBJ用==号来比较对象CMP.STR用==号来比较字符串CMPF.FLOAT在浮点类型中等式的检查COV.CMP方法compareTo()应该有签名'公共的intcompareTo(对象)ECC.EMPTYEmptycatchclause(空的catch从句)EHC.EQ类定义了hashCode(),但是没有定义equals()EHC.HASH类定义了equal(),但是没有定义hashCode()ESCMP.EMPTYSTR无效的空字符串比较EXC.BROADTHROWS方法有一个过宽泛的throws声明FIN.EMPTYEmptyfinalize()method(空的finalize()方法)FIN.NOSUPER在没有调用super.finalize()时对finalize()的实现FSC.PRT类和它的父类中有同名的受保护的字段FSC.PRV类和它的父类中有同名的私有的字段FSC.PUB类和它的父类中有同名的公共的字段JD.BITCMP在表达式中使用非短路逻辑JD.BITMASK在位操作中可能的错误JD.BITRRedundantexpression(多余的表达式)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.WAITWait被调用在不正确的对象中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.AWTAWT对象在退出时没有被处理RLK.FIELD储存在一个字段的系统资源发生可能的泄露RLK.HIBERNATE潜伏对象在退出时没有被关闭RLK.IMAGEIOImageIO流在退出时没有被关闭RLK.IN输入流在退出时没有被关闭RLK.JNDIJNDI上下文在退出时没有被关闭RLK.MAILJava邮件对象在退出时没有被关闭RLK.MICROJavaMicroedition连接在退出时没有被关闭RLK.NIONIO对象在退出时没有被关闭RLK.OUT输出流在退出时没有被关闭RLK.SOCKSocket在退出时没有被关闭RLK.SQLCONSQL连接在退出时没有被关闭RLK.SQLOBJSQL对象在退出时没有被关闭RLK.SWTSWT对象在退出时没有被处理RLK.ZIPZip文件在退出时没有被关闭RNU.THISthis和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_SPLITHTTP相应拆分攻击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.SQLSQL注入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.TAINTTainteddata(被污染的数据)SV.TAINT_NATIVE被污染的数据进入本地代码中SV.TMPFILE临时文件路径损坏SV.UMC.EXITSystem.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已关闭的JavaMicroedition连接的使用UF.NIO已关闭的NIO对象的使用UF.OUT已关闭的输出流的使用UF.SOCK已关闭的socket的使用UF.SQLCON已关闭的SQL连接的使用UF.SQLOBJ已关闭的SQL对象的使用UF.ZIP已关闭的zip文件的使用UMC.EXITSystem.exit()和Runtime.exit()方法的调用不应该被使用在控制器模式UMC.GCSystem.gc()方法调用是不需要的UMC.SYSERR使用System.err方法调用的调试打印是不需要的UMC.SYSOUT使用System.out方法调用的调试打印是不需要的UMC.TOSTRING不需要的toString()方法需要一个字符串参数
本文标题:klocwork扫描规则错误对照表
链接地址:https://www.777doc.com/doc-6381404 .html