aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-tn5250.c
diff options
context:
space:
mode:
authorMartin Kaiser <wireshark@kaiser.cx>2014-10-20 22:37:51 +0200
committerMartin Kaiser <wireshark@kaiser.cx>2014-10-20 20:47:28 +0000
commitbc2726578156f3608960fc65ce1f691639e6addc (patch)
treef590bdb083750ce21e6c2d806f8fbc96511414a5 /epan/dissectors/packet-tn5250.c
parenta2508bda19a4e8820fb1c716a7fdd21af50337e6 (diff)
tn5250: fix an endless loop, exit when offset is not incremented
Bug: 10596 Change-Id: I64509aa49fce4893dee4e7a74a560e09a98830f6 Reviewed-on: https://code.wireshark.org/review/4878 Reviewed-by: Martin Kaiser <wireshark@kaiser.cx> Tested-by: Martin Kaiser <wireshark@kaiser.cx>
Diffstat (limited to 'epan/dissectors/packet-tn5250.c')
-rw-r--r--epan/dissectors/packet-tn5250.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/epan/dissectors/packet-tn5250.c b/epan/dissectors/packet-tn5250.c
index f7b7b5fe8f..8624cb9b04 100644
--- a/epan/dissectors/packet-tn5250.c
+++ b/epan/dissectors/packet-tn5250.c
@@ -4654,6 +4654,8 @@ dissect_write_structured_field(proto_tree *tn5250_tree, tvbuff_t *tvb, gint offs
length = tvb_get_guint8(tvb,offset);
proto_tree_add_item(tn5250_tree, hf_tn5250_length, tvb, offset,
1, ENC_BIG_ENDIAN);
+ if (length==0)
+ break;
proto_tree_add_item(tn5250_tree, hf_tn5250_dpt_ec, tvb, offset,
length, ENC_EBCDIC|ENC_NA);
offset += length;