Report correct program id (#14486)
This commit is contained in:
		| @@ -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, ¶meter_bytes)?; | ||||
|         stable_log::program_success(&logger, program.unsigned_key()); | ||||
|         stable_log::program_success(&logger, program_id); | ||||
|         Ok(()) | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user