IsoTpMessage: rx_len sanity checks (#1311)

* add some more sanity checks for _isotp_rx_next

* another PR

* Update python/uds.py

* cannot be bigger than 0xfff
This commit is contained in:
Shane Smiskol
2023-03-30 23:23:42 -07:00
committed by GitHub
parent 23563cec7c
commit 7933635b54

View File

@@ -463,6 +463,7 @@ class IsoTpMessage():
# single rx_frame
if rx_data[0] >> 4 == 0x0:
self.rx_len = rx_data[0] & 0xFF
assert self.rx_len <= 0x7, f"isotp - rx: invalid single frame length: {self.rx_len}"
self.rx_dat = rx_data[1:1 + self.rx_len]
self.rx_idx = 0
self.rx_done = True
@@ -472,6 +473,7 @@ class IsoTpMessage():
# first rx_frame
elif rx_data[0] >> 4 == 0x1:
self.rx_len = ((rx_data[0] & 0x0F) << 8) + rx_data[1]
assert 0x8 <= self.rx_len, f"isotp - rx: invalid first frame length: {self.rx_len}"
self.rx_dat = rx_data[2:]
self.rx_idx = 0
self.rx_done = False