You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|[`arbitrary_cpi`](lints/arbitrary_cpi)| lint for [5-arbitrary-cpi](https://github.com/coral-xyz/sealevel-attacks/tree/master/programs/5-arbitrary-cpi)|
14
-
|[`bump_seed_canonicalization`](lints/bump_seed_canonicalization)| lint for [6-bump-seed-canonicalization](https://github.com/coral-xyz/sealevel-attacks/tree/master/programs/7-bump-seed-canonicalization)|
15
-
|[`insecure_account_close`](lints/insecure_account_close)| lint for [9-closing-accounts](https://github.com/coral-xyz/sealevel-attacks/tree/master/programs/9-closing-accounts)|
16
-
|[`missing_owner_check`](lints/missing_owner_check)| lint for [2-owner-checks](https://github.com/coral-xyz/sealevel-attacks/tree/master/programs/2-owner-checks)|
17
-
|[`missing_signer_check`](lints/missing_signer_check)| lint for [0-signer-authorization](https://github.com/coral-xyz/sealevel-attacks/tree/master/programs/0-signer-authorization)|
18
-
|[`sysvar_get`](lints/sysvar_get)| Reports uses of `Sysvar::from_account_info` instead of `Sysvar::get`|
19
-
|[`type_cosplay`](lints/type_cosplay)| lint for [3-type-cosplay](https://github.com/coral-xyz/sealevel-attacks/tree/master/programs/3-type-cosplay)|
|[`arbitrary_cpi`](lints/arbitrary_cpi)| lint for [5-arbitrary-cpi](https://github.com/coral-xyz/sealevel-attacks/tree/master/programs/5-arbitrary-cpi)|:heavy_check_mark:|:heavy_check_mark:|
14
+
|[`bump_seed_canonicalization`](lints/bump_seed_canonicalization)| lint for [6-bump-seed-canonicalization](https://github.com/coral-xyz/sealevel-attacks/tree/master/programs/7-bump-seed-canonicalization)||:heavy_check_mark:|
15
+
|[`insecure_account_close`](lints/insecure_account_close)| lint for [9-closing-accounts](https://github.com/coral-xyz/sealevel-attacks/tree/master/programs/9-closing-accounts)|:heavy_check_mark:|:heavy_check_mark:|
16
+
|[`missing_owner_check`](lints/missing_owner_check)| lint for [2-owner-checks](https://github.com/coral-xyz/sealevel-attacks/tree/master/programs/2-owner-checks)|:heavy_check_mark:|:heavy_check_mark:|
17
+
|[`missing_signer_check`](lints/missing_signer_check)| lint for [0-signer-authorization](https://github.com/coral-xyz/sealevel-attacks/tree/master/programs/0-signer-authorization)|:heavy_check_mark:|:heavy_check_mark:|
18
+
|[`sysvar_get`](lints/sysvar_get)| Reports uses of `Sysvar::from_account_info` instead of `Sysvar::get`|:heavy_check_mark:|:heavy_check_mark:|
19
+
|[`type_cosplay`](lints/type_cosplay)| lint for [3-type-cosplay](https://github.com/coral-xyz/sealevel-attacks/tree/master/programs/3-type-cosplay)||:heavy_check_mark:|
> An example of where this could be a problem is if a token program, upon transferring the token out of an account, sets the account's lamports to zero, assuming it will be deleted by the runtime. If the program does not zero out the account's data, a malicious user could trail this instruction with another that transfers the tokens a second time.
/// > An example of where this could be a problem is if a token program, upon transferring the token out of an account, sets the account's lamports to zero, assuming it will be deleted by the runtime. If the program does not zero out the account's data, a malicious user could trail this instruction with another that transfers the tokens a second time.
0 commit comments