CWE-681:数字类型之间的不正确转换
查看自定义信息:
![]() ![]()
![]() ![]() ![]()
![]() ![]()
![]() ![]()
![]() 语言 班级:不是特定语言的(不确定的患病率) ![]()
示例1 在下面的Java示例中,浮点字面呈现给整数,从而导致精确度损失。
(不良代码)
示例语言:爪哇
int i =(int)33457.8f;
示例2 该代码将浮子和一个整数添加在一起,将结果抛向整数。
(不良代码)
示例语言:php
$ floatval = 1.8345;
$ intval = 3; $ result =(int)$ floatval + $ intval; 通常,PHP将保留此操作的精度,使$结果= 4.8345。在将iNT演出后,可以合理地期望PHP遵循四舍五入限制并设置$ result = 5。。 示例3 在此示例中,可变数量在返回时可以容纳负值。由于该函数被声明返回未签名的int,因此金额将被隐式转换为未签名。
(不良代码)
示例语言:C
unsigned int readdata(){
INT MANTE = 0; }... 如果(结果==错误) 金额= -1; ... 退货金额; 如果满足上述代码中的错误条件,则在使用32位整数的系统上,ReadData()的返回值将为4,294,967,295。 示例4 在此示例中,取决于ACCECSSMAINFRAME()的返回值,变量金额在返回时可以保持负值。由于该函数被声明为返回无符号值,因此金额将被隐式投入到无符号数字中。
(不良代码)
示例语言:C
unsigned int readdata(){
INT MANTE = 0; }... 量= AccessMainFrame(); ... 退货金额; 如果AccessMainFrame()的返回值为-1,则在使用32位整数的系统上,ReadData()()的返回值将为4,294,967,295。
![]()
提供更多信息 - 请选择其他过滤器。
|
使用共同弱点枚举(CWE)和本网站的相关参考使用条款。CWE由美国国土安全部(DHS)网络安全和基础设施安全局(CISA),由国土安全系统工程和开发研究所(HSSEDI)由manbetx客户端首页(MITER)。版权所有©2006–2023,Miter Comanbetx客户端首页rporation。CWE,CWSS,CWRAF和CWE徽标是Miter Corporation的商标。manbetx客户端首页 |