From d18e02ef444b48b1f48cd57ef3bd2c57b1f42038 Mon Sep 17 00:00:00 2001 From: Jack May Date: Fri, 18 Jun 2021 11:37:39 -0700 Subject: [PATCH] fix loader instruction checker (#18047) --- sdk/program/src/bpf_loader_upgradeable.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sdk/program/src/bpf_loader_upgradeable.rs b/sdk/program/src/bpf_loader_upgradeable.rs index 25a4878ee7..2ff747ba76 100644 --- a/sdk/program/src/bpf_loader_upgradeable.rs +++ b/sdk/program/src/bpf_loader_upgradeable.rs @@ -189,11 +189,11 @@ pub fn upgrade( } pub fn is_upgrade_instruction(instruction_data: &[u8]) -> bool { - 3 == instruction_data[0] + !instruction_data.is_empty() && 3 == instruction_data[0] } pub fn is_set_authority_instruction(instruction_data: &[u8]) -> bool { - 4 == instruction_data[0] + !instruction_data.is_empty() && 4 == instruction_data[0] } /// Returns the instructions required to set a buffers's authority. @@ -331,6 +331,7 @@ mod tests { #[test] fn test_is_set_authority_instruction() { + assert!(!is_set_authority_instruction(&[])); assert_is_instruction( is_set_authority_instruction, UpgradeableLoaderInstruction::SetAuthority {}, @@ -339,6 +340,7 @@ mod tests { #[test] fn test_is_upgrade_instruction() { + assert!(!is_upgrade_instruction(&[])); assert_is_instruction( is_upgrade_instruction, UpgradeableLoaderInstruction::Upgrade {},