From f0e0b3d434ee205321b742cb0cbfce893df6f98d Mon Sep 17 00:00:00 2001 From: occheung Date: Fri, 23 Oct 2020 17:25:12 +0800 Subject: [PATCH] asn1 der length: accomodate for other machine architecture --- src/parse.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/parse.rs b/src/parse.rs index 9693a9c..25eaec6 100644 --- a/src/parse.rs +++ b/src/parse.rs @@ -370,7 +370,8 @@ pub fn parse_asn1_der_header(bytes: &[u8]) -> IResult<&[u8], (u8, usize)> { for array_index in 0..length_slice.len() { length_array[array_index + 8 - length_slice.len()] = length_slice[array_index]; } - Ok((rem, (tag[0], usize::from_be_bytes(length_array)))) + let (_, length_array) = length_array.split_at(8 - core::mem::size_of::()); + Ok((rem, (tag[0], usize::from_be_bytes((*length_array).try_into().unwrap())))) } }