`A27-0-4`: C-Style (and arrays) detected when logging in assert or using the hash/stringize operator in a macro
還沒有人認領這個 Issue。
評估
研究方向
先從規則 A27-0-4 和 A18-1-1 的實作開始,然後重現所提供的 C++ 範例。將針對巨集、assert 呼叫和字串化運算式的診斷,與直接使用陣列或字串的案例進行比較。完成的標準是解決已回報的誤報,同時受影響的規則仍能偵測其預期案例。
由索引模型根據 Issue 內容生成。
描述
Affected rules
A27-0-4A18-1-1
Description
Alerts of both rules are triggered even if no C-style array or string is directly used. It may also be relevant that the usage of the # operator is covered by rule M16-3-2.
Example
#include <cassert>
#define ASSERT(expr) ((expr) ? static_cast<void>(0) : [] { assert(false && #expr); }())
class a_class
{
public:
void some_operator()
{
ASSERT(flag_);
}
private:
bool flag_ = false;
};
int main()
{
assert((false) && "A way to add an assert message");
a_class instance;
instance.some_operator();
}
A27-0-4 and A18-1-1 alerts are signaled on ASSERT(flag_); as well as assert((false) && "A way ... message");
- 主要語言
- CodeQL
- 星號
- 227
- 分支
- 82
- 平均合併
- 6 天 7 小時
- 30 天內合併 PR
- 9
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
github/codeql-coding-standards 的其他 Issue
-
false positive/false negative Stardard-MISRA-C++
難度 2/5 1-3 小時 新手友好度 72/100
github/codeql-coding-standards#1172 ·
-
Difficulty-Low false positive/false negative false-negative Impact-Low Standard-MISRA-C
難度 2/5 1-3 小時 新手友好度 68/100
-
Difficulty-Medium false positive/false negative false-positive Impact-Medium Standard-CERT-C
難度 4/5 3-5 天 新手友好度 48/100
github/codeql-coding-standards#1200 ·
-
`RULE-0-0-1`: "unreachable statement" false positives due to over-pruning of the control-flow graph 未關閉false positive/false negative
難度 4/5 3-5 天 新手友好度 48/100
github/codeql-coding-standards#1190 ·
-
false positive/false negative
難度 3/5 1-2 天 新手友好度 65/100
github/codeql-coding-standards#1175 ·
查看 github/codeql-coding-standards 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 75/100
-
enhancement
難度 2/5 1-3 小時 新手友好度 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 則留言 ·
-
good first issue
難度 1/5 1 小時以內 新手友好度 90/100
-
難度 2/5 1-3 小時 新手友好度 75/100
rust-bitcoin/rust-bitcoin#6930 · 1 則留言 ·
-
Solved site promotion gate fails on runner PHP patch drift (expects 8.2.33, runner installs 8.2.34) 未關閉
難度 2/5 1-3 小時 新手友好度 75/100
Automattic/blocks-engine#2161 ·