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

Lint 10: sysvar-address-check #14

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

Conversation

oslfmt
Copy link
Contributor

@oslfmt oslfmt commented Jul 27, 2022

Short and sweet lint that addresses this issue by flagging any calls to bincode::deserialize() (resolving to a type implementing Sysvar trait) and advising user to use from_account_info() instead (the way they should do it).

There could be another variation of this lint that performs a key check. This variation has the trade-off that it will avoid false positives, but if the key check is not robust enough, it will leave out some cases we want to catch.

There are many ways to perform a key check. Referencing the key field directly, calling key() (from anchor), unsigned_key(), to name a few. Then there could be != or == checks. With this in mind, I think it's difficult to implement a good key check, and better to just recommend using from_account_info().

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants