diff options
author | Michael Mann <mmann78@netscape.net> | 2015-12-29 22:55:22 -0500 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2015-12-30 05:29:17 +0000 |
commit | 260afe11feb796d1fde992d8f8c133ebd950b573 (patch) | |
tree | 04c0356fb4d9881d32e9f27efa1f889910f228e2 /epan | |
parent | 30f378a373665ee163d605858e171a28d01d4d9c (diff) |
Prevent infinite loop in DNP3 dissector.
Bug: 11938
Change-Id: Icd59092a3139b8c22f3866017a093a8b1270f1b2
Reviewed-on: https://code.wireshark.org/review/12940
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-dnp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/epan/dissectors/packet-dnp.c b/epan/dissectors/packet-dnp.c index 8be8ac3119..ebe266e17c 100644 --- a/epan/dissectors/packet-dnp.c +++ b/epan/dissectors/packet-dnp.c @@ -2845,6 +2845,8 @@ dnp3_al_process_object(tvbuff_t *tvb, packet_info *pinfo, int offset, /* And increment the point address, may be overwritten by an index value */ al_ptaddr++; + } else { + offset = data_pos; } if (start_offset > offset) { expert_add_info(pinfo, point_item, &ei_dnp_invalid_length); |