aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-at.c
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2018-08-05 00:46:33 +0200
committerAnders Broman <a.broman58@gmail.com>2018-08-05 04:47:32 +0000
commit114012dc4b9ce24c3764f8830ded019a3bf8b52e (patch)
tree44679cea5047d588e6a4acd58afff630562363f8 /epan/dissectors/packet-at.c
parent4d650e7249126749d7d8edbe0c0be56e6d521d43 (diff)
AT: fix check for non-numeric CME errors
Fix the digit check, testing a pointer as character is an error. Change-Id: I1ce2898dd1cca0b61bb2da342c81bc648fdb1cf2 Fixes: v2.9.0rc0-1356-g51c6fde9c7 ("AT: Distinguish between numeric and textual CME errors") Reviewed-on: https://code.wireshark.org/review/28962 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-at.c')
-rw-r--r--epan/dissectors/packet-at.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/epan/dissectors/packet-at.c b/epan/dissectors/packet-at.c
index 78b8a0493e..eab47b9552 100644
--- a/epan/dissectors/packet-at.c
+++ b/epan/dissectors/packet-at.c
@@ -836,7 +836,6 @@ dissect_cme_error_parameter(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *t
{
guint32 value;
gint i;
- guint8 *next_char;
if (!(role == ROLE_DCE && type == TYPE_RESPONSE)) {
return FALSE;
@@ -845,14 +844,12 @@ dissect_cme_error_parameter(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *t
if (parameter_number > 0) return FALSE;
/* CME Error might work in 2 modes: Numeric error codes or Verbose error messages */
- /* if the parameter stream contains any letters, assume verbose */
- next_char = parameter_stream;
+ /* if the parameter stream contains non-digits, assume verbose */
for (i = 0; i < parameter_length; i++) {
- if (g_ascii_isalpha(next_char)) {
+ if (!g_ascii_isdigit(parameter_stream[i])) {
proto_tree_add_item(tree, hf_cme_error_verbose, tvb, offset, parameter_length, ENC_NA | ENC_ASCII);
return TRUE;
}
- next_char++;
}
/* Assume numeric error code*/
value = get_uint_parameter(parameter_stream, parameter_length);