diff options
author | Dr. Lars Völker <lars.voelker@technica-engineering.de> | 2023-03-07 11:34:03 +0100 |
---|---|---|
committer | Martin Mathieson <martin.r.mathieson@googlemail.com> | 2023-03-07 16:54:36 +0000 |
commit | 921a9a0ea2f7c60e7cc4ce049fdbd64753411118 (patch) | |
tree | a66f901feecc076649cb4a08fc0201dda2efc9de | |
parent | 808fcd3c2b9a2df9afcdd3e3b11a7014d03c4561 (diff) |
SOME/IP: UDP Heur should not always return TRUE (BUGFIX)
The old SOME/IP Heur always returned true, even for non SOME/IP. This is
fixed now.
-rw-r--r-- | epan/dissectors/packet-someip.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/epan/dissectors/packet-someip.c b/epan/dissectors/packet-someip.c index 6287d87e44..fa9bdb01fe 100644 --- a/epan/dissectors/packet-someip.c +++ b/epan/dissectors/packet-someip.c @@ -1,7 +1,7 @@ /* packet-someip.c * SOME/IP dissector. * By Dr. Lars Voelker <lars.voelker@technica-engineering.de> / <lars.voelker@bmw.de> - * Copyright 2012-2022 Dr. Lars Voelker + * Copyright 2012-2023 Dr. Lars Voelker * Copyright 2019 Ana Pantar * Copyright 2019 Guenter Ebermann * @@ -3661,8 +3661,7 @@ dissect_someip_udp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *da } static gboolean -test_someip(packet_info *pinfo _U_, tvbuff_t *tvb, int offset _U_, void *data _U_) -{ +test_someip(packet_info *pinfo _U_, tvbuff_t *tvb, int offset _U_, void *data _U_) { if (tvb_captured_length(tvb) < SOMEIP_HDR_LEN) { return FALSE; } @@ -3683,8 +3682,7 @@ test_someip(packet_info *pinfo _U_, tvbuff_t *tvb, int offset _U_, void *data _U } static gboolean -dissect_some_ip_heur_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) -{ +dissect_some_ip_heur_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) { if (test_someip(pinfo, tvb, 0, data)) { tcp_dissect_pdus(tvb, pinfo, tree, TRUE, SOMEIP_HDR_PART1_LEN, get_someip_message_len, dissect_someip_message, data); return TRUE; @@ -3693,10 +3691,8 @@ dissect_some_ip_heur_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo } static gboolean -dissect_some_ip_heur_udp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) -{ - udp_dissect_pdus(tvb, pinfo, tree, SOMEIP_HDR_PART1_LEN, test_someip, get_someip_message_len, dissect_someip_message, data); - return TRUE; +dissect_some_ip_heur_udp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) { + return (udp_dissect_pdus(tvb, pinfo, tree, SOMEIP_HDR_PART1_LEN, test_someip, get_someip_message_len, dissect_someip_message, data) != 0); } void |