aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDr. Lars Völker <lars.voelker@technica-engineering.de>2023-03-07 11:34:03 +0100
committerMartin Mathieson <martin.r.mathieson@googlemail.com>2023-03-07 16:54:36 +0000
commit921a9a0ea2f7c60e7cc4ce049fdbd64753411118 (patch)
treea66f901feecc076649cb4a08fc0201dda2efc9de
parent808fcd3c2b9a2df9afcdd3e3b11a7014d03c4561 (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.c14
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