-
Notifications
You must be signed in to change notification settings - Fork 67
Fix issues with c/qcc compatibility #289
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
RULE-21-4 `setjmp` and `longjmp` can be macros or functions
library can access `stdin` or `_Stdin` by reference
Add support for alternative NULL pointer definition
- removed links to library internals - documented false positives due to extractor errors
🤖 Beep Boop! qcc/c/aarch64le Matrix Testing for this PR has been completed. See below for the results!
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good @mbaluda! Should we perhaps be keeping track of how many were simple path/library issues vs which required deeper work?
I split the description in 2 parts: fixes to the queries vs adjustment to test files |
Fix test files for RULE-1-3 and CON38-C
🤖 Beep Boop! clang/c/x86_64 Matrix Testing for this PR has been completed. See below for the results!
|
|
Description
Fix issues with c/qcc compatibility in the queries:
RULE-21-4
:longjmp
can be a macro or a functionENV32-C
: exit functions can be macros or functionsERR33-C
FIO34-C
FIO46-C
RULE-22-6
: add support forqcc
to library filesReadErrorsAndEOF.qll
DoNotAccessAClosedFile.qll
FileAccess.qll
STR37-C
: add support for a differenttolower/toupper
macro implementationEXP43-C
: list library functions that are explicitly mentionedRULE-11-1
RULE-11-2
RULE-11-5
: support for alternative NULL pointer definitionMinor adjustments to output, tests or
.expected
files:ARR39-C
,CON40-C
,CON41-C
,ERR30-C
,FIO32-C
,FIO47-C
,STR34-C
: add.expected.qcc
filesEXP39-C
: add.expected.qcc
file with library references in pathRULE-1-2
: remove unsupported code from testsRULE-10-6
: Fix output string formatSTR32-C
STR38-C
: removed links to library internals, documented false positives due to extractor errorsChange request type
.ql
,.qll
,.qls
or unit tests)Rules with added or modified queries
Release change checklist
A change note (development_handbook.md#change-notes) is required for any pull request which modifies:
If you are only adding new rule queries, a change note is not required.
Author: Is a change note required?
🚨🚨🚨
Reviewer: Confirm that format of shared queries (not the .qll file, the
.ql file that imports it) is valid by running them within VS Code.
Reviewer: Confirm that either a change note is not required or the change note is required and has been added.
Query development review checklist
For PRs that add new queries or modify existing queries, the following checklist should be completed by both the author and reviewer:
Author
As a rule of thumb, predicates specific to the query should take no more than 1 minute, and for simple queries be under 10 seconds. If this is not the case, this should be highlighted and agreed in the code review process.
Reviewer
As a rule of thumb, predicates specific to the query should take no more than 1 minute, and for simple queries be under 10 seconds. If this is not the case, this should be highlighted and agreed in the code review process.