Skip to content

Commit 91e0c0f

Browse files
committed
AML: fix bug in string comparisons with strings of less than 4 bytes
1 parent cf43067 commit 91e0c0f

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/aml/mod.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -1505,14 +1505,16 @@ where
15051505
let left = {
15061506
let mut bytes = [0u8; 4];
15071507
let left_bytes = left.as_bytes();
1508-
(bytes[0..left_bytes.len()]).copy_from_slice(left_bytes);
1508+
let bytes_to_use = usize::min(4, left_bytes.len());
1509+
(bytes[0..bytes_to_use]).copy_from_slice(&left_bytes[0..bytes_to_use]);
15091510
u32::from_le_bytes(bytes) as u64
15101511
};
15111512
let right = {
15121513
let mut bytes = [0u8; 4];
15131514
let right = right.as_string()?;
15141515
let right_bytes = right.as_bytes();
1515-
(bytes[0..right_bytes.len()]).copy_from_slice(right_bytes);
1516+
let bytes_to_use = usize::min(4, right_bytes.len());
1517+
(bytes[0..bytes_to_use]).copy_from_slice(&right_bytes[0..bytes_to_use]);
15161518
u32::from_le_bytes(bytes) as u64
15171519
};
15181520
(left, right)

0 commit comments

Comments
 (0)