cwe - 135:不正确的多字节字符串长度的计算
视图定制的信息:
![]() ![]()
![]() ![]()
![]()
![]() 语言 C患病率(待定) c++患病率(待定) ![]()
示例1 下面的例子将可利用的如果任何评论不正确使用malloc调用。
(坏的代码)
例如语言:C
# include < stdio . h >
# include < strings.h > # include < wchar.h > int main () { wchar_t wideString [] = L \“spazzy橙色虎跳” “在茶色的捷豹。”; wchar_t *万博下载包部份; printf (" Strlen()输出:% d \ nWcslen()输出:% d \ n”, strlen (wideString), wcslen (wideString)); / *错误的,因为在字符串中字符的数量不是相关长度的字节/ / 万博下载包部份= (wchar_t *) malloc (strlen (wideString)); * / / *错因为宽字符不是1个字节长!/ / 万博下载包部份= (wchar_t *) malloc (wcslen (wideString)); * / / *错因为wcslen不包括终止null * / 万博下载包部份= (wchar_t *) malloc (wcslen (wideString) * sizeof (wchar_t)); / *正确!* / 万博下载包部份= (wchar_t *) malloc ((wcslen (wideString) + 1) * sizeof (wchar_t)); / *……* / printf()语句的输出是:
(结果)
Strlen()输出:0
Wcslen()输出:53
![]()
更多的信息是可用的,请选择一个不同的过滤器。
|
使用常见的弱点枚举(CWE)和相关的引用从这个网站的使用条款。CWE赞助的美国国土安全部(DHS)网络和基础设施安全机构(CISA)和管理的国土安全系统工程和发展研究所这是由(HSSEDI)manbetx客户端首页(斜方)。版权©2006 - 2023,斜方公司。manbetx客户端首页CWE、水煤浆、CWRAF, CWE标志是斜方公司的商标。manbetx客户端首页 |