diff options
author | Martin Kaiser <wireshark@kaiser.cx> | 2014-10-20 22:37:51 +0200 |
---|---|---|
committer | Martin Kaiser <wireshark@kaiser.cx> | 2014-10-20 20:47:28 +0000 |
commit | bc2726578156f3608960fc65ce1f691639e6addc (patch) | |
tree | f590bdb083750ce21e6c2d806f8fbc96511414a5 /epan/dissectors/packet-tn5250.c | |
parent | a2508bda19a4e8820fb1c716a7fdd21af50337e6 (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.c | 2 |
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; |