Report correct program id (#14486)

This commit is contained in:
Jack May 2021-01-08 14:43:24 -08:00 committed by GitHub
parent b9f0fb5525
commit 9d53eca6e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 18 deletions

View File

@ -253,10 +253,10 @@ fn process_instruction_common(
return Err(InstructionError::IncorrectProgramId);
}
let executor = match invoke_context.get_executor(program.unsigned_key()) {
let executor = match invoke_context.get_executor(program_id) {
Some(executor) => executor,
None => create_and_cache_executor(
program.unsigned_key(),
program_id,
&program.try_account_ref()?.data[offset..],
invoke_context,
use_jit,
@ -264,7 +264,7 @@ fn process_instruction_common(
};
executor.execute(
loader_id,
first_account.unsigned_key(),
program_id,
keyed_accounts,
instruction_data,
invoke_context,
@ -425,7 +425,7 @@ fn process_loader_upgradeable_instruction(
// Load and verify the program bits
let _ = create_and_cache_executor(
programdata.unsigned_key(),
program_id,
&buffer.try_account_ref()?.data[buffer_data_offset..],
invoke_context,
use_jit,
@ -538,7 +538,7 @@ fn process_loader_upgradeable_instruction(
// Load and verify the program bits
let _ = create_and_cache_executor(
programdata.unsigned_key(),
program.unsigned_key(),
&buffer.try_account_ref()?.data[buffer_data_offset..],
invoke_context,
use_jit,
@ -723,8 +723,7 @@ impl Executor for BPFExecutor {
let invoke_depth = invoke_context.invoke_depth();
let mut keyed_accounts_iter = keyed_accounts.iter();
let program = next_keyed_account(&mut keyed_accounts_iter)?;
let _ = next_keyed_account(&mut keyed_accounts_iter)?;
let parameter_accounts = keyed_accounts_iter.as_slice();
let mut parameter_bytes =
serialize_parameters(loader_id, program_id, parameter_accounts, &instruction_data)?;
@ -744,7 +743,7 @@ impl Executor for BPFExecutor {
}
};
stable_log::program_invoke(&logger, program.unsigned_key(), invoke_depth);
stable_log::program_invoke(&logger, program_id, invoke_depth);
let mut instruction_meter = ThisInstructionMeter::new(compute_meter.clone());
let before = compute_meter.borrow().get_remaining();
let result = if use_jit {
@ -756,7 +755,7 @@ impl Executor for BPFExecutor {
log!(
logger,
"Program {} consumed {} of {} compute units",
program.unsigned_key(),
program_id,
before - after,
before
);
@ -764,17 +763,12 @@ impl Executor for BPFExecutor {
Ok(status) => {
if status != SUCCESS {
let error: InstructionError = status.into();
stable_log::program_failure(&logger, program.unsigned_key(), &error);
stable_log::program_failure(&logger, program_id, &error);
return Err(error);
}
}
Err(error) => {
log!(
logger,
"Program {} BPF VM error: {}",
program.unsigned_key(),
error
);
log!(logger, "Program {} BPF VM error: {}", program_id, error);
let error = match error {
EbpfError::UserError(BPFError::SyscallError(
SyscallError::InstructionError(error),
@ -785,13 +779,13 @@ impl Executor for BPFExecutor {
}
};
stable_log::program_failure(&logger, program.unsigned_key(), &error);
stable_log::program_failure(&logger, program_id, &error);
return Err(error);
}
}
}
deserialize_parameters(loader_id, parameter_accounts, &parameter_bytes)?;
stable_log::program_success(&logger, program.unsigned_key());
stable_log::program_success(&logger, program_id);
Ok(())
}
}