programs/sbf: "fix" invalid_reference_casting lint (#34706)

This commit is contained in:
Alessandro Decina 2024-01-09 23:08:15 +11:00 committed by GitHub
parent a78b5203cb
commit 896a531931
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 8 deletions

View File

@ -22,10 +22,7 @@ fn process_instruction(
let mut tmp_native_owner = [0u8; 32];
tmp_native_owner.copy_from_slice(accounts[0].owner.as_ref());
let owner_addr = accounts[0].owner as *const Pubkey;
unsafe {
std::ptr::write_volatile(owner_addr as *mut [u8; 32], fake_system.owner.to_bytes());
}
accounts[0].assign(fake_system.owner);
let system = &accounts[0];
let mut new_system = system.clone();
@ -44,10 +41,7 @@ fn process_instruction(
msg!("swapped owner and data");
invoke(&ix, &[target.clone(), me.clone(), new_system])?;
let owner_addr = accounts[0].owner as *const Pubkey;
unsafe {
std::ptr::write_volatile(owner_addr as *mut [u8; 32], tmp_native_owner);
}
accounts[0].assign(&Pubkey::from(tmp_native_owner));
Ok(())
}