-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Added undefined throwing function. #17397
Closed
bdrodes
wants to merge
8
commits into
github:main
from
microsoft:undefined_throwing_function_upstream2
Closed
Added undefined throwing function. #17397
bdrodes
wants to merge
8
commits into
github:main
from
microsoft:undefined_throwing_function_upstream2
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
MathiasVP
reviewed
Sep 9, 2024
cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll
Outdated
Show resolved
Hide resolved
cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll
Fixed
Show resolved
Hide resolved
cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll
Fixed
Show resolved
Hide resolved
MathiasVP
reviewed
Sep 9, 2024
cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll
Outdated
Show resolved
Hide resolved
FWIW, the relevant inconsistencies have now all been fixed 🎉 |
@bdrodes This has a merge conflict, could you resolve that? Thanks! |
…ceptionHandling.qll Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com>
…ceptionHandling.qll
bdrodes
force-pushed
the
undefined_throwing_function_upstream2
branch
from
September 26, 2024 15:13
a3890e4
to
de8f91d
Compare
@bdrodes I'm still seeing some failing tests:
|
I've two concerns with the approach taken in this PR:
I wonder if we can instead add the exception edges everywhere. I'm not sure what the performance implications of that will be though. |
Closing this, as discussed F2F. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Functions with no body are assumed to potentially throw.
This PR is blocked by https://github.com/github/codeql-c-team/issues/2423, we first must address the unexplained loop IR inconsistency as this will increase those inconsistencies.
The prior PR 128053e adds an apparent inconsistency with respect to this PR by specifying explicit non-throwing functions. For SEH some of what have been marked as non-throwing actually do throw (e.g., memcpy may throw with respect to SEH). We will work on a separate PR to differentiate for SEH, but the prior PR doesn't involve IR so the inconsistency, to my understanding, wouldn't be noticed as this PR affects IR flow specifically.