Skip to content
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

C++: Remove pointer/pointee conflation from models of "pure" functions #18556

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

MathiasVP
Copy link
Contributor

@MathiasVP MathiasVP commented Jan 21, 2025

This PR cleans up the taint-flow model for the PureStrFunction class. Previously, this was conflating pointers and their indirections which caused false flow in some cases. See the first commit for an example of this.

Additionally, I added a dataflow model for the cases where the pointer is actually preserved.

DCA shows 3 lost results, and they appear to be FPs that are now correctly removed.

@Copilot Copilot bot review requested due to automatic review settings January 21, 2025 20:46
@MathiasVP MathiasVP requested a review from a team as a code owner January 21, 2025 20:46

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again, by re-requesting a review.

@MathiasVP MathiasVP added the no-change-note-required This PR does not need a change note label Jan 21, 2025
@github-actions github-actions bot added C++ and removed no-change-note-required This PR does not need a change note labels Jan 21, 2025
@MathiasVP MathiasVP added the no-change-note-required This PR does not need a change note label Jan 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C++ no-change-note-required This PR does not need a change note
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant