summaryrefslogtreecommitdiff
path: root/ui/cli/tap-icmpstat.c
diff options
context:
space:
mode:
authorChris Maynard <Christopher.Maynard@GTECH.COM>2012-05-03 01:48:59 +0000
committerChris Maynard <Christopher.Maynard@GTECH.COM>2012-05-03 01:48:59 +0000
commit2eeb504807d4d3e5200b4f076c98dc7f6f494b3e (patch)
treeb9e0b9645dd2e4a1e3bbe82dfa39db35f893cd3a /ui/cli/tap-icmpstat.c
parent8f557d0874e832a1c9906bea0a930f264968cc48 (diff)
downloadwireshark-2eeb504807d4d3e5200b4f076c98dc7f6f494b3e.tar.gz
From Klaus Heckelmann via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7221: Avoid wireshark crash on platforms where an 8 byte alignment is required by changing the resp_time field in the icmp_transaction_t from a double to an nstime_t.
svn path=/trunk/; revision=42393
Diffstat (limited to 'ui/cli/tap-icmpstat.c')
-rw-r--r--ui/cli/tap-icmpstat.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/ui/cli/tap-icmpstat.c b/ui/cli/tap-icmpstat.c
index b8abbb2a5c..d955fa250f 100644
--- a/ui/cli/tap-icmpstat.c
+++ b/ui/cli/tap-icmpstat.c
@@ -123,27 +123,28 @@ icmpstat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_,
{
icmpstat_t *icmpstat = tapdata;
const icmp_transaction_t *trans = data;
- double *rt;
+ double resp_time, *rt;
if (trans == NULL)
return 0;
if (trans->resp_frame) {
+ resp_time = nstime_to_msec(&trans->resp_time);
rt = g_malloc(sizeof(double));
if (rt == NULL)
return 0;
- *rt = trans->resp_time;
+ *rt = resp_time;
icmpstat->rt_list = g_slist_insert_sorted(icmpstat->rt_list, rt, compare_doubles);
icmpstat->num_resps++;
- if (icmpstat->min_msecs > trans->resp_time) {
+ if (icmpstat->min_msecs > resp_time) {
icmpstat->min_frame = trans->resp_frame;
- icmpstat->min_msecs = trans->resp_time;
+ icmpstat->min_msecs = resp_time;
}
- if (icmpstat->max_msecs < trans->resp_time) {
+ if (icmpstat->max_msecs < resp_time) {
icmpstat->max_frame = trans->resp_frame;
- icmpstat->max_msecs = trans->resp_time;
+ icmpstat->max_msecs = resp_time;
}
- icmpstat->tot_msecs += trans->resp_time;
+ icmpstat->tot_msecs += resp_time;
} else if (trans->rqst_frame)
icmpstat->num_rqsts++;
else