aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dnp.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2015-12-29 22:55:22 -0500
committerAnders Broman <a.broman58@gmail.com>2015-12-30 05:29:17 +0000
commit260afe11feb796d1fde992d8f8c133ebd950b573 (patch)
tree04c0356fb4d9881d32e9f27efa1f889910f228e2 /epan/dissectors/packet-dnp.c
parent30f378a373665ee163d605858e171a28d01d4d9c (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/dissectors/packet-dnp.c')
-rw-r--r--epan/dissectors/packet-dnp.c2
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);