Reorders AccountInfo checks in check_type_assumptions() (#30143)

This commit is contained in:
Brooks 2023-02-06 17:06:07 -05:00 committed by GitHub
parent 60858d043c
commit 84d746a8dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 21 additions and 21 deletions

View File

@ -493,20 +493,6 @@ pub fn check_type_assumptions() {
assert_eq!(**key_ptr, key);
}
// is_signer
assert_eq!(offset_of!(AccountInfo, is_signer), 40);
let is_signer_ptr = (account_info_addr + 40) as *const bool;
unsafe {
assert!(*is_signer_ptr);
}
// is_writable
assert_eq!(offset_of!(AccountInfo, is_writable), 41);
let is_writable_ptr = (account_info_addr + 41) as *const bool;
unsafe {
assert!(!*is_writable_ptr);
}
// lamports
assert_eq!(offset_of!(AccountInfo, lamports), 8);
let lamports_ptr = (account_info_addr + 8) as *const Rc<RefCell<&mut u64>>;
@ -528,19 +514,33 @@ pub fn check_type_assumptions() {
assert_eq!(**owner_ptr, owner);
}
// executable
assert_eq!(offset_of!(AccountInfo, executable), 42);
let executable_ptr = (account_info_addr + 42) as *const bool;
unsafe {
assert!(*executable_ptr);
}
// rent_epoch
assert_eq!(offset_of!(AccountInfo, rent_epoch), 32);
let renbt_epoch_ptr = (account_info_addr + 32) as *const Epoch;
unsafe {
assert_eq!(*renbt_epoch_ptr, 42);
}
// is_signer
assert_eq!(offset_of!(AccountInfo, is_signer), 40);
let is_signer_ptr = (account_info_addr + 40) as *const bool;
unsafe {
assert!(*is_signer_ptr);
}
// is_writable
assert_eq!(offset_of!(AccountInfo, is_writable), 41);
let is_writable_ptr = (account_info_addr + 41) as *const bool;
unsafe {
assert!(!*is_writable_ptr);
}
// executable
assert_eq!(offset_of!(AccountInfo, executable), 42);
let executable_ptr = (account_info_addr + 42) as *const bool;
unsafe {
assert!(*executable_ptr);
}
}
}