diff options
author | Chris Maynard <Christopher.Maynard@GTECH.COM> | 2012-05-03 01:48:59 +0000 |
---|---|---|
committer | Chris Maynard <Christopher.Maynard@GTECH.COM> | 2012-05-03 01:48:59 +0000 |
commit | 2eeb504807d4d3e5200b4f076c98dc7f6f494b3e (patch) | |
tree | b9e0b9645dd2e4a1e3bbe82dfa39db35f893cd3a /ui/cli/tap-icmpstat.c | |
parent | 8f557d0874e832a1c9906bea0a930f264968cc48 (diff) | |
download | wireshark-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.c | 15 |
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 |