Fix - Adds missing "Executable account not owned by the BPF loader" error to `remove_bpf_loader_incorrect_program_id` (#32695)
Adds missing "Executable account not owned by the BPF loader" error.
This commit is contained in:
parent
2225aecfa9
commit
b5a80a72f0
|
@ -431,11 +431,13 @@ fn process_instruction_inner(
|
||||||
transaction_context.get_key_of_account_at_index(index_in_transaction)
|
transaction_context.get_key_of_account_at_index(index_in_transaction)
|
||||||
});
|
});
|
||||||
let program_id = instruction_context.get_last_program_key(transaction_context)?;
|
let program_id = instruction_context.get_last_program_key(transaction_context)?;
|
||||||
if first_account_key == program_id
|
let program_account_index = if first_account_key == program_id {
|
||||||
|| second_account_key
|
first_instruction_account
|
||||||
|
} else if second_account_key
|
||||||
.map(|key| key == program_id)
|
.map(|key| key == program_id)
|
||||||
.unwrap_or(false)
|
.unwrap_or(false)
|
||||||
{
|
{
|
||||||
|
first_instruction_account.saturating_add(1)
|
||||||
} else {
|
} else {
|
||||||
let first_account = try_borrow_account(
|
let first_account = try_borrow_account(
|
||||||
transaction_context,
|
transaction_context,
|
||||||
|
@ -446,6 +448,19 @@ fn process_instruction_inner(
|
||||||
ic_logger_msg!(log_collector, "BPF loader is executable");
|
ic_logger_msg!(log_collector, "BPF loader is executable");
|
||||||
return Err(Box::new(InstructionError::IncorrectProgramId));
|
return Err(Box::new(InstructionError::IncorrectProgramId));
|
||||||
}
|
}
|
||||||
|
first_instruction_account
|
||||||
|
};
|
||||||
|
let program = try_borrow_account(
|
||||||
|
transaction_context,
|
||||||
|
instruction_context,
|
||||||
|
program_account_index,
|
||||||
|
)?;
|
||||||
|
if program.is_executable() && !check_loader_id(program.get_owner()) {
|
||||||
|
ic_logger_msg!(
|
||||||
|
log_collector,
|
||||||
|
"Executable account not owned by the BPF loader"
|
||||||
|
);
|
||||||
|
return Err(Box::new(InstructionError::IncorrectProgramId));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue