From bfc8e1b13ae0cd38899bba0997a1977b62cfaae6 Mon Sep 17 00:00:00 2001 From: ananas-block Date: Thu, 5 Feb 2026 02:12:03 +0100 Subject: [PATCH] chore: reject invalid extensions explicitly --- .../program/src/compressed_token/transfer2/cpi.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/programs/compressed-token/program/src/compressed_token/transfer2/cpi.rs b/programs/compressed-token/program/src/compressed_token/transfer2/cpi.rs index 79784a5190..3d912124bf 100644 --- a/programs/compressed-token/program/src/compressed_token/transfer2/cpi.rs +++ b/programs/compressed-token/program/src/compressed_token/transfer2/cpi.rs @@ -43,13 +43,16 @@ pub fn allocate_cpi_bytes( // Build TLV config for byte length calculation let tlv_config: Vec = tlv .iter() - .filter_map(|ext| match ext { + .map(|ext| match ext { ZExtensionInstructionData::CompressedOnly(_) => { - Some(ExtensionStructConfig::CompressedOnly(())) + Ok(ExtensionStructConfig::CompressedOnly(())) } - _ => None, + _ => Err(ProgramError::Custom( + anchor_compressed_token::ErrorCode::InvalidExtensionInstructionData + as u32, + )), }) - .collect(); + .collect::, ProgramError>>()?; let token_config = TokenDataConfig { delegate: (has_delegate, ()),