Python: Make "Modification of parameter with default" flow-sensitive. #878
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.
Extends the analysis in
py/modification-of-default-valueto use taint tracking. This enables us to detect modifications that happen inside other function calls.@felicity-semmle for the change note. (And also possibly the alert message?)
Open question:
I have encountered the following idiom in some places that are flagged by the current query
Should we treat
if not xas a sanitiser forx? As far as I can tell, there are no hidden surprises in the above code.