diff options
author | Dario Lombardo <lomato@gmail.com> | 2016-10-22 20:59:44 +0200 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2016-10-24 12:38:03 +0000 |
commit | 4f94dceee72d557693702e528a14eef76ba80a5b (patch) | |
tree | 4386d27f4c7adec8ee5a7befcc7f577e82643a1d | |
parent | cd64e4ece2e0e731fa9ffc07fead9420d46d8c1a (diff) |
catapult: use ws_strtou function.
Change-Id: Iceaa2e0240a86dd6aed087617c0a3200b3170d38
Reviewed-on: https://code.wireshark.org/review/18398
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
-rw-r--r-- | epan/dissectors/packet-catapult-dct2000.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/epan/dissectors/packet-catapult-dct2000.c b/epan/dissectors/packet-catapult-dct2000.c index 29abf7722d..13605f8900 100644 --- a/epan/dissectors/packet-catapult-dct2000.c +++ b/epan/dissectors/packet-catapult-dct2000.c @@ -23,7 +23,6 @@ #include "config.h" #include <stdio.h> -#include <stdlib.h> /* for atoi() */ #include <epan/packet.h> #include <epan/conversation.h> @@ -32,6 +31,8 @@ #include <epan/addr_resolv.h> #include <epan/proto_data.h> +#include <wsutil/strtoi.h> + #include <wiretap/catapult_dct2000.h> #include "packet-umts_fp.h" #include "packet-rlc.h" @@ -136,6 +137,7 @@ static int ett_catapult_dct2000_tty = -1; static expert_field ei_catapult_dct2000_lte_ccpri_status_error = EI_INIT; static expert_field ei_catapult_dct2000_error_comment_expert = EI_INIT; +static expert_field ei_catapult_dct2000_string_invalid = EI_INIT; static const value_string direction_vals[] = { { 0, "Sent" }, @@ -2096,6 +2098,7 @@ dissect_catapult_dct2000(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo const char *timestamp_string; gint variant_length; const char *variant_string; + guint32 variant; gint outhdr_length; const char *outhdr_string; guint8 direction; @@ -2207,14 +2210,16 @@ dissect_catapult_dct2000(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, vo variant_string); - /* FP protocols need info from outhdr attached */ if ((strcmp(protocol_name, "fp") == 0) || (strncmp(protocol_name, "fp_r", 4) == 0) || (strcmp(protocol_name, "fpiur_r5") == 0)) { parse_outhdr_string(outhdr_string, outhdr_length); - attach_fp_info(pinfo, direction, protocol_name, atoi(variant_string)); + if (ws_strtou32(variant_string, NULL, &variant)) + attach_fp_info(pinfo, direction, protocol_name, variant); + else + expert_add_info(pinfo, ti, &ei_catapult_dct2000_string_invalid); } /* RLC protocols need info from outhdr attached */ @@ -3294,6 +3299,7 @@ void proto_register_catapult_dct2000(void) static ei_register_info ei[] = { { &ei_catapult_dct2000_lte_ccpri_status_error, { "dct2000.lte.ccpri.status.error", PI_SEQUENCE, PI_ERROR, "CCPRI Indication has error status", EXPFILL }}, { &ei_catapult_dct2000_error_comment_expert, { "dct2000.error-comment.expert", PI_SEQUENCE, PI_ERROR, "Formatted expert comment", EXPFILL }}, + { &ei_catapult_dct2000_string_invalid, { "dct2000.string.invalid", PI_MALFORMED, PI_ERROR, "String must contain an integer", EXPFILL }} }; module_t *catapult_dct2000_module; |