Fix fuzzer-found underflow
[rust-lightning] / lightning / src / onion_message / packet.rs
index a3414d844edff9cb96f5d6b15cf36e5807b29d9a..d4ba28c843b9dde23be1e41111bda0797e44128a 100644 (file)
@@ -69,7 +69,7 @@ impl LengthReadable for Packet {
                let public_key = Readable::read(r)?;
 
                let mut hop_data = Vec::new();
-               let hop_data_len = r.total_bytes() as usize - 66; // 1 (version) + 33 (pubkey) + 32 (HMAC) = 66
+               let hop_data_len = r.total_bytes().saturating_sub(66) as usize; // 1 (version) + 33 (pubkey) + 32 (HMAC) = 66
                let mut read_idx = 0;
                while read_idx < hop_data_len {
                        let mut read_buffer = [0; READ_BUFFER_SIZE];