Skip to content

Commit 5e6fe11

Browse files
committed
[hf seos] Correct command padding size
1 parent d29d912 commit 5e6fe11

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

client/src/cmdhfseos.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -192,10 +192,12 @@ static void generate_command_wrapping(uint8_t *command_Header, int command_heade
192192
padToBlockSize(command_Header, command_header_len, block_size, padded_Command_Header);
193193

194194
// Unencrypted Command is our actual command data
195-
uint8_t padded_unencrypted_Command[block_size];
196-
padToBlockSize(unencrypted_Command, unencrypted_command_len, block_size, padded_unencrypted_Command);
195+
uint8_t padded_unencrypted_command_len = unencrypted_command_len;
196+
if (padded_unencrypted_command_len % block_size) padded_unencrypted_command_len += block_size - (padded_unencrypted_command_len % block_size);
197+
uint8_t padded_unencrypted_Command[padded_unencrypted_command_len];
198+
padToBlockSize(unencrypted_Command, unencrypted_command_len, padded_unencrypted_command_len, padded_unencrypted_Command);
197199

198-
uint8_t padded_encrypted_Command[block_size];
200+
uint8_t padded_encrypted_Command[padded_unencrypted_command_len];
199201
create_cryptogram(diversified_enc_key, padded_unencrypted_Command, padded_encrypted_Command, sizeof(padded_unencrypted_Command), encryption_algorithm);
200202

201203
uint8_t asn1_tag_cryptograph[2] = {0x85, ARRAYLEN(padded_encrypted_Command)};

0 commit comments

Comments
 (0)