-
Notifications
You must be signed in to change notification settings - Fork 1.7k
C++: Fix models and simplify taint flow #11946
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
I hadn't thought about this before, but since we opted for an opt-in model for use-use dataflow, I think the model changes should go directly to |
That's a good point. This entire PR might actually be able to target the |
acd0fde
to
962b651
Compare
CI doesn't seem to have triggered. Closing and re-opening this PR might do the trick? I'd also like to see some DCA results for this rebased branch 😄 |
Will try that! I'm actually seeing one regression on |
470abfd fixes the lost results. I've started another DCA run as well. |
Is this only a problem with the |
Yeah, it could be a problem for other instances of iterator-based model flow if we're missing tests. Edit: DCA didn't show any result changes, though 🎉. |
The taint-model interpretation code had a weird case that implemented something along the lines of:
(and similarly for the outgoing flow).
As far as I can see, these rules only existed to fix some models that were missing flow into arguments that didn't have indirections (for example, because the function actually took a non-pointer like argument), but for some reason used
input.asParameterDeref(...)
in their models.This PR fixes those models and simplifies the taint-model interpretation code.