aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2016-04-23 12:12:42 -0400
committerAnders Broman <a.broman58@gmail.com>2016-04-23 21:55:12 +0000
commite19babfc55fb7442f6d765eb76538b847623be41 (patch)
tree175b5b0bc79025329cf6daed514fdb001d1a826c
parentf7691b13c71ed22373424de482af2d44311ae55b (diff)
Bounds check the use of ett_zbee_zcl_pwr_prof_enphases array.
Bug: 12358 Change-Id: Iec5dcba388f06e1fd1ef26f0679b06c3dda6a7bf Reviewed-on: https://code.wireshark.org/review/15072 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>
-rw-r--r--epan/dissectors/packet-zbee-zcl-general.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/epan/dissectors/packet-zbee-zcl-general.c b/epan/dissectors/packet-zbee-zcl-general.c
index fe061d2a35..b5a20febbd 100644
--- a/epan/dissectors/packet-zbee-zcl-general.c
+++ b/epan/dissectors/packet-zbee-zcl-general.c
@@ -10739,7 +10739,7 @@ dissect_zcl_pwr_prof_enphsschednotif(tvbuff_t *tvb, proto_tree *tree, guint *off
*offset += 1;
/* Scheduled Energy Phases decoding */
- for (i=0 ; i<num_of_sched_phases ; i++) {
+ for (i=0 ; (i<num_of_sched_phases && i < ZBEE_ZCL_PWR_PROF_NUM_EN_PHS_ETT); i++) {
/* Create subtree */
sub_tree = proto_tree_add_subtree_format(tree, tvb, *offset, 1,
ett_zbee_zcl_pwr_prof_enphases[i], NULL, "Energy Phase #%u", i);
@@ -10826,7 +10826,7 @@ dissect_zcl_pwr_prof_pwrprofnotif(tvbuff_t *tvb, proto_tree *tree, guint *offset
*offset += 1;
/* Energy Phases decoding */
- for ( i=0 ; i<num_of_transferred_phases ; i++) {
+ for ( i=0 ; (i<num_of_transferred_phases && i < ZBEE_ZCL_PWR_PROF_NUM_EN_PHS_ETT); i++) {
/* Create subtree */
sub_tree = proto_tree_add_subtree_format(tree, tvb, *offset, 1,
ett_zbee_zcl_pwr_prof_enphases[i], NULL, "Energy Phase #%u", i);