aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorMartin Boye Petersen <martinboyepetersen@gmail.com>2017-06-12 13:35:52 +0200
committerAnders Broman <a.broman58@gmail.com>2017-06-13 14:48:57 +0000
commit256358c0e8d11b091ced99feb05ccd28c5a39873 (patch)
tree1ad8cdc01eef62f912bd293fcd3b65a2d70df1c2 /epan/dissectors
parent42a27355eecbff484ad761a8b0d4b9d4614bb950 (diff)
fixed integer overflow in zigbee timestamp conversion
Change-Id: Ibc9e0a9285692ff95d28faf272c25d0e452f359c Reviewed-on: https://code.wireshark.org/review/22094 Reviewed-by: Kenneth Soerensen <knnthsrnsn@gmail.com> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/packet-zbee-zcl-se.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/epan/dissectors/packet-zbee-zcl-se.c b/epan/dissectors/packet-zbee-zcl-se.c
index be882aaa02..3e5d37a024 100644
--- a/epan/dissectors/packet-zbee-zcl-se.c
+++ b/epan/dissectors/packet-zbee-zcl-se.c
@@ -816,7 +816,7 @@ dissect_zcl_msg_cancel_all(tvbuff_t *tvb, proto_tree *tree, guint *offset)
nstime_t impl_time;
/* Retrieve "Confirmation Time" field */
- impl_time.secs = tvb_get_letohl(tvb, *offset) + ZBEE_ZCL_NSTIME_UTC_OFFSET;
+ impl_time.secs = (time_t)tvb_get_letohl(tvb, *offset) + ZBEE_ZCL_NSTIME_UTC_OFFSET;
impl_time.nsecs = 0;
proto_tree_add_time(tree, hf_zbee_zcl_msg_implementation_time, tvb, *offset, 4, &impl_time);
*offset += 4;
@@ -836,7 +836,7 @@ dissect_zcl_msg_get_cancel(tvbuff_t *tvb, proto_tree *tree, guint *offset)
nstime_t impl_time;
/* Earliest Implementation Time */
- impl_time.secs = tvb_get_letohl(tvb, *offset) + ZBEE_ZCL_NSTIME_UTC_OFFSET;
+ impl_time.secs = (time_t)tvb_get_letohl(tvb, *offset) + ZBEE_ZCL_NSTIME_UTC_OFFSET;
impl_time.nsecs = 0;
proto_tree_add_time(tree, hf_zbee_zcl_msg_earliest_time, tvb, *offset, 4, &impl_time);
*offset += 4;
@@ -863,7 +863,7 @@ dissect_zcl_msg_confirm(tvbuff_t *tvb, proto_tree *tree, guint *offset)
*offset += 4;
/* Retrieve "Confirmation Time" field */
- confirm_time.secs = tvb_get_letohl(tvb, *offset) + ZBEE_ZCL_NSTIME_UTC_OFFSET;
+ confirm_time.secs = (time_t)tvb_get_letohl(tvb, *offset) + ZBEE_ZCL_NSTIME_UTC_OFFSET;
confirm_time.nsecs = 0;
proto_tree_add_time(tree, hf_zbee_zcl_msg_confirm_time, tvb, *offset, 4, &confirm_time);
*offset += 4;
@@ -915,8 +915,8 @@ decode_zcl_msg_start_time(gchar *s, guint32 value)
g_snprintf(s, ITEM_LABEL_LENGTH, "Now");
else {
gchar *start_time;
- value += ZBEE_ZCL_NSTIME_UTC_OFFSET;
- start_time = abs_time_secs_to_str (NULL, value, ABSOLUTE_TIME_LOCAL, TRUE);
+ time_t time = (time_t)value + ZBEE_ZCL_NSTIME_UTC_OFFSET;
+ start_time = abs_time_secs_to_str (NULL, time, ABSOLUTE_TIME_LOCAL, TRUE);
g_snprintf(s, ITEM_LABEL_LENGTH, "%s", start_time);
wmem_free(NULL, start_time);
}