-
Notifications
You must be signed in to change notification settings - Fork 1.8k
C++: Taint flow consistency change for strftime #3569
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
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.
I think this LGTM (other than the formatting) if everyone agrees that this definition of taint should go in the qldoc.
* An expression is tainted if it could be influenced by an attacker to have | ||
* an unusual value. | ||
* |
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.
I know @jbj mentioned this the other day as his definition of "taint", but he also said that this changes every week. Do we really want to put this definition in a public qldoc?
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.
It's only every month, not every week ;-). I've asked on Slack to see if the language teams can agree on a definition.
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.
I'm keen for us to document a working definition of taint, even if we decide to change it later. It seems better than everyone inventing their own understanding, or trying to infer it backwards from existing behaviour of the models (as I have been).
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.
LGTM, except for the failing qlformat test.
Don't have taint flow to the return value of
strftime
(see discussion at the end of #3533).I've also added the definition of taint from that discussion to the models library. We can change it if we later think of a better or clearer definition, but I strongly feel that we need to say something about what taint is.