summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/target/trx_toolkit/data_msg.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py
index a1046ec9..c5d284df 100644
--- a/src/target/trx_toolkit/data_msg.py
+++ b/src/target/trx_toolkit/data_msg.py
@@ -275,9 +275,9 @@ class DATAMSG:
# Parses a TRX DATA message
def parse_msg(self, msg):
- # Make sure we have at least header
- if len(msg) < self.HDR_LEN:
- raise ValueError("Message is to short")
+ # Make sure we have at least common header
+ if len(msg) < self.CHDR_LEN:
+ raise ValueError("Message is to short: missing common header")
# Parse version and TDMA TN
self.ver = (msg[0] >> 4)
@@ -286,6 +286,11 @@ class DATAMSG:
# Parse TDMA FN
self.fn = struct.unpack(">L", msg[1:5])[0]
+ # Make sure we have the whole header,
+ # including the version specific fields
+ if len(msg) < self.HDR_LEN:
+ raise ValueError("Message is to short: missing version specific header")
+
# Specific message part
self.parse_hdr(msg)