aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-bt-utp.c26
1 files changed, 6 insertions, 20 deletions
diff --git a/epan/dissectors/packet-bt-utp.c b/epan/dissectors/packet-bt-utp.c
index 4a424f49f6..0053d1f44b 100644
--- a/epan/dissectors/packet-bt-utp.c
+++ b/epan/dissectors/packet-bt-utp.c
@@ -158,7 +158,6 @@ static gint
get_utp_version(tvbuff_t *tvb) {
guint8 v0_flags, v0_ext;
guint8 v1_ver_type, v1_ext;
- gint version;
guint len;
/* Simple heuristics inspired by code from utp.cpp */
@@ -178,31 +177,18 @@ get_utp_version(tvbuff_t *tvb) {
if (((v1_ver_type & 0x0f) == 1) &&
((v1_ver_type>>4) < ST_NUM_STATES) &&
(v1_ext < EXT_NUM_EXT)) {
- version = 1; /* V1 */
+ if (len < V1_FIXED_HDR_SIZE)
+ return -1;
+ return 1;
}
else if ((v0_flags < ST_NUM_STATES) ||
(v0_ext < EXT_NUM_EXT)) {
- version = 0; /* V0 */
- }
- else
- return -1;
-
- switch(version) {
- case 0:
if (len < V0_FIXED_HDR_SIZE)
return -1;
- break;
-
- case 1:
- if (len < V1_FIXED_HDR_SIZE)
- return -1;
- break;
-
- default:
- return -1;
+ return 0;
}
-
- return version;
+ else
+ return -1;
}
static int