请选择 进入手机版 | 继续访问电脑版

专注代码检测 - 阅镜

 找回密码
 立即注册
热搜: 安装 代码
查看: 77|回复: 0

确认if里面的按位操作

[复制链接]

70

主题

70

帖子

230

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
230
发表于 2021-9-10 19:53:57 | 显示全部楼层 |阅读模式
if里,非bool类型和非bool类型的按位操作可能代表代码存在错误。

  1. // Bad
  2. void Foo() {
  3.   int bar = 0x1;     // binary 01
  4.   int foobar = 0x2;    // binary 10

  5.   if (foobar & bar)     // result = 00, false
  6.     ...
  7. }
复制代码

上述代码可能应该是:

  1. // Good
  2. void foo() {
  3.   int   bar = 0x1;
  4.   int foobar = 0x2;

  5.   if (foobar && bar)  // result : true
  6.     ...
  7. }
复制代码

关联漏洞:
  1.   中风险-逻辑问题
复制代码
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

QQ|Archiver|手机版|小黑屋| 阅镜 ( 京ICP备2020034574号 )|网站地图|网站地图点击这里给我发消息

GMT+8, 2021-10-27 02:25 , Processed in 0.098066 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表