`RULE-18-1`: Picky about how pointers are tracked, doesn't consider derefs before 1 from end, or array-to-pointer conversions
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Tìm các triển khai truy vấn cho RULE-18-1 và M5-0-16, sau đó so sánh cách chúng theo dõi việc tạo con trỏ, các chuyển đổi từ mảng sang con trỏ, các biểu thức địa chỉ trực tiếp và các truy cập đến vị trí ngay sau phần cuối. Được xem là hoàn tất khi các ví dụ phân biệt được các con trỏ hợp lệ đến vị trí ngay sau phần cuối với các phép giải tham chiếu hoặc lập chỉ mục không hợp lệ, đồng thời báo cáo từng trường hợp không tuân thủ mà không có các false negative đã nêu.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Affected rules
RULE-18-1M5-0-16
Description
The query expects that as pointers are made they are assigned to variables, and assumes that pointers into arrays always use ArrayExpr (eg x[y]). It also allows dereferencing or indexing past 1 of an array -- its OK to make a pointer to 1 past the array, but dereferencing is not defined.
Example
void example_function() {
int x[10];
int *p1 = &x[12]; // NON_COMPLIANT
f(p1);
int *p2 = x + 12; // NON_COMPLIANT[FALSE_NEGATIVE]
f(&x[12]); // NON_COMPLIANT[FALSE_NEGATIVE]
int *p3 = &x[10]; // COMPLIANT
*p3; // NON_COMPLIANT[FALSE_NEGATIVE]
x[10]; // NON_COMPLIANT[FALSE_NEGATIVE] - at least for MISRA-C
}
- 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 ·
Tất cả issue của github/codeql-coding-standards
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
use-agent-os/agent-os#3314 ·
-
Implement GitHub Issue templates Đang mởdocumentation low-priority templates
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
jesseray718/openroot#87 ·
-
factory-active factory-automatic task-bug-reproduction-cannot-reproduce task-identify-harness-labels-done task-identify-issue-type-done
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
danielmiessler/LifeOS#2218 ·
-
in-progress proposal
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
uibcdf/molsyssuite#36 ·