diff options
author | Daniel Kamil Kozar <dkk089@gmail.com> | 2019-06-06 17:45:04 +0200 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2019-06-10 16:51:32 +0000 |
commit | 92d0a67f4ea9ff454397ae423a9882c3b493e77b (patch) | |
tree | 9eff9be84e6cf01919b7f249607f73876763ead0 /epan/dissectors/packet-lsd.c | |
parent | 5e79558a8243c046ce3f279c635f9670be7f8f05 (diff) |
LSD: Fix valid headers being marked as malformed
Due to a change in the meaning of wmem_strsplit's max_tokens argument, the
returned field_and_value[1] was always null, causing the dissector code to
mistakenly mark it as malformed.
Change-Id: Ifea9e3bf8ec6e18646fb83bc85661a143ce0126b
Reviewed-on: https://code.wireshark.org/review/33511
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-lsd.c')
-rw-r--r-- | epan/dissectors/packet-lsd.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/epan/dissectors/packet-lsd.c b/epan/dissectors/packet-lsd.c index d4a6a41c3f..8b06060a70 100644 --- a/epan/dissectors/packet-lsd.c +++ b/epan/dissectors/packet-lsd.c @@ -49,7 +49,7 @@ parse_string_field(proto_tree *tree, int hf, packet_info *pinfo, tvbuff_t *tvb, str = tvb_get_string_enc(wmem_packet_scope(), tvb, offset, *linelen, ENC_ASCII); if (g_ascii_strncasecmp(str, hf_info->name, strlen(hf_info->name)) == 0) { - field_and_value = wmem_strsplit(wmem_packet_scope(), str, ":", 1); + field_and_value = wmem_strsplit(wmem_packet_scope(), str, ":", 2); p = field_and_value[1]; if (p) { while(g_ascii_isspace(*p)) @@ -99,7 +99,7 @@ dissect_lsd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) str = tvb_get_string_enc(wmem_packet_scope(), tvb, offset, linelen, ENC_ASCII); if (g_ascii_strncasecmp(str, "Port", strlen("Port")) == 0) { - field_and_value = wmem_strsplit(wmem_packet_scope(), str, ":", 1); + field_and_value = wmem_strsplit(wmem_packet_scope(), str, ":", 2); valid = ws_strtou16(field_and_value[1], NULL, &port); ti = proto_tree_add_uint(lsd_tree, hf_lsd_port, tvb, offset, linelen, port); if (!valid) |