`A15-4-4`: Query incorrectly alerts functions that raise/can raise exceptions
Đang mở
@rak3-sh đang làm issue này rồi.
Từ ngày 22/12/2024.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Difficulty-Medium
false positive/false negative
Impact-Low
Affected rules
A15-4-4
Description
- Query doesn’t consider ReThrowExpr. E.g. the query says to mark
rethrow()below asnoexcept
Example
template <bool DoRethrow>
void rethrow() {
throw;
}
int main()
{
rethrow<true>();
return 0;
}
- The query doesn’t check for throw expressions that occur inside lambdas defined in a function. E.g.
Example
void func() {
std::call_once(init_flag_, [this] {
if (sem_init(&sem_, 0, 0) != 0) {
throw std::system_error(errno, std::system_category()); // Throw in a lambda.
}
initialized_ = true;
});
}
- In some cases the noexcept specification is a complex condition involving several logical operations or template instantiations. In such a case, CodeQL’s check for whether its noexcept(true) or noexcept explicitly false doesn’t work and it alerts that it can be marked as noexcept. For practical reasons, maybe we can consider a noexcept(expr) as being marked by the user as correct.
- Ngôn ngữ chính
- CodeQL
- Star
- 227
- Fork
- 82
- Merge trung bình
- 6 ngày 7 giờ
- Pull request đã merge (30 ngày)
- 9
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của github/codeql-coding-standards
-
false positive/false negative Stardard-MISRA-C++
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
github/codeql-coding-standards#1172 ·
-
Difficulty-Low false positive/false negative false-negative Impact-Low Standard-MISRA-C
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Difficulty-Medium false positive/false negative false-positive Impact-Medium Standard-CERT-C
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
github/codeql-coding-standards#1200 ·
-
`RULE-0-0-1`: "unreachable statement" false positives due to over-pruning of the control-flow graph Đang mởfalse positive/false negative
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
github/codeql-coding-standards#1190 ·
-
false positive/false negative
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 65/100
github/codeql-coding-standards#1175 ·