diff options
-rw-r--r-- | epan/dissectors/packet-opensafety.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/epan/dissectors/packet-opensafety.c b/epan/dissectors/packet-opensafety.c index 3fc86782b2..46557aad55 100644 --- a/epan/dissectors/packet-opensafety.c +++ b/epan/dissectors/packet-opensafety.c @@ -2120,7 +2120,10 @@ opensafety_package_dissector(const gchar *protocolName, const gchar *sub_diss_ha else break; - frameOffset += frameLength; + /* findSafetyFrame starts at frameOffset with the search for the next position. But the + * offset is assumed to be the ID, which can lead to scenarios, where the CRC of a previous + * detected frame is assumed to be the addr of the next one. +1 prevents such a scenario */ + frameOffset += (frameLength + 1); } if ( handled == TRUE ) |