Coverity警告::“cc”碰撞已忽略,用于htons()和ntohs()
为什么Coverity会产生警告Coverity警告::“cc”碰撞已忽略,用于htons()和ntohs(),c,sockets,coverity,C,Sockets,Coverity,为什么Coverity会产生警告 > "cc" clobber ignored 对于下面提到的代码中的函数调用hton和ntohs lSocketAddr.sin_port = htons(kUDPServerPort); 我在谷歌上搜索了一下,发现这个警告也出现在英特尔编译器链上。cc clobber忽略是什么意思?这是否意味着HTON和NTOhs不应用于安全编程?有没有解决警告的方法?是否有其他API HTON和NTOH 系统配置: Coverity 5.3 红帽6 GCC版本4.
> "cc" clobber ignored
对于下面提到的代码中的函数调用hton和ntohs
lSocketAddr.sin_port = htons(kUDPServerPort);
我在谷歌上搜索了一下,发现这个警告也出现在英特尔编译器链上。cc clobber忽略是什么意思?这是否意味着HTON和NTOhs不应用于安全编程?有没有解决警告的方法?是否有其他API HTON和NTOH
系统配置:
Coverity 5.3
红帽6
GCC版本4.4.5
我相信这意味着函数被标记为一个在处理器中重击数据的函数,但是这个标记被忽略了 为了显示正在添加的cc clobber,它是内联asm语句的一个参数,如下所示:
asm("bsch %2,%0" : "=r"(bit) : "0"(0), "r"(x & -x) : "cc");
^
|
hello!
但不太清楚为什么会生成警告,可能Coverity试图传达相关函数包含此类asm,但它在分析中不能考虑cc信息
我不认为有理由放弃基于此警告的函数,该警告似乎相当元,不是关于代码本身,而是关于Coverity对代码的处理
注意:我从未使用过Coverity