diff options
author | Martin Boye Petersen <martinboyepetersen@gmail.com> | 2017-06-12 13:35:52 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-06-13 14:48:57 +0000 |
commit | 256358c0e8d11b091ced99feb05ccd28c5a39873 (patch) | |
tree | 1ad8cdc01eef62f912bd293fcd3b65a2d70df1c2 /epan/dissectors | |
parent | 42a27355eecbff484ad761a8b0d4b9d4614bb950 (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.c | 10 |
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); } |