aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-lsd.c
diff options
context:
space:
mode:
authorDaniel Kamil Kozar <dkk089@gmail.com>2019-06-06 17:45:04 +0200
committerAlexis La Goutte <alexis.lagoutte@gmail.com>2019-06-10 16:51:32 +0000
commit92d0a67f4ea9ff454397ae423a9882c3b493e77b (patch)
tree9eff9be84e6cf01919b7f249607f73876763ead0 /epan/dissectors/packet-lsd.c
parent5e79558a8243c046ce3f279c635f9670be7f8f05 (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.c4
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)