muccc / iridium-toolkit

A set of tools to parse Iridium frames
477 stars 111 forks source link

Wrong length in reassembler.py, line 1315? #52

Closed fvance closed 2 years ago

fvance commented 2 years ago

In reassembler.py, line 1315 (current version), it reads:

if len(data)<12:

I am not a Python programmer, but it looks to me like this should read:

if len(data)<13:

Otherwise, a true length of 12 means line 1330 (data=data[12:]) returns an empty string and line 1333 (if data[-1] == 0x03:) results in a "index out of range" error.

I welcome any feedback if my understanding is incorrect.

Sec42 commented 2 years ago

Well, yes and no :-) It is an edge case that's handled incorrectly. I think my original intention was to display registration & label for this truncated packet. But in the end it's rare to happen & not very useful to have, so I have pushed the change you suggested.