Skip to content

Commit 708b94f

Browse files
authored
tweak ZeroPadding::unpad_blocks
1 parent b7c08da commit 708b94f

1 file changed

Lines changed: 5 additions & 9 deletions

File tree

block-padding/src/lib.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -103,16 +103,12 @@ impl Padding for ZeroPadding {
103103
fn unpad_blocks<BlockSize: ArraySize>(
104104
blocks: &[Array<u8, BlockSize>],
105105
) -> Result<&[u8], UnpadError> {
106-
let buf = Array::slice_as_flattened(blocks);
107-
if blocks.is_empty() {
108-
return Ok(buf);
106+
for i in (0..block.len()).rev() {
107+
if block[i] != 0 {
108+
return Ok(&block[..i + 1]);
109+
}
109110
}
110-
let bs = BlockSize::USIZE;
111-
let (last_block, full_blocks) = blocks.split_last().unwrap();
112-
let unpad_len = Self::unpad(last_block)?.len();
113-
assert!(unpad_len <= bs);
114-
let data_len = full_blocks.len() * bs + unpad_len;
115-
Ok(&buf[..data_len])
111+
Ok(&block[..0])
116112
}
117113
}
118114

0 commit comments

Comments
 (0)