We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
ZeroPadding::unpad_blocks
1 parent b7c08da commit 708b94fCopy full SHA for 708b94f
1 file changed
block-padding/src/lib.rs
@@ -103,16 +103,12 @@ impl Padding for ZeroPadding {
103
fn unpad_blocks<BlockSize: ArraySize>(
104
blocks: &[Array<u8, BlockSize>],
105
) -> Result<&[u8], UnpadError> {
106
- let buf = Array::slice_as_flattened(blocks);
107
- if blocks.is_empty() {
108
- return Ok(buf);
+ for i in (0..block.len()).rev() {
+ if block[i] != 0 {
+ return Ok(&block[..i + 1]);
109
+ }
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])
+ Ok(&block[..0])
116
117
118
0 commit comments