In ICMP taps, don't use g_slist_insert_sorted (which results in
[metze/wireshark/wip.git] / ui / cli / tap-icmpv6stat.c
index 406998222e12e4b20fee76d40cbc8ad044e60f1d..88bb472b53b8273d0135ba2eaf7d84b0fcb8d39a 100644 (file)
@@ -129,7 +129,7 @@ icmpv6stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_
         if (rt == NULL)
             return 0;
         *rt = resp_time;
-        icmpv6stat->rt_list = g_slist_insert_sorted(icmpv6stat->rt_list, rt, compare_doubles);
+        icmpv6stat->rt_list = g_slist_prepend(icmpv6stat->rt_list, rt);
         icmpv6stat->num_resps++;
         if (icmpv6stat->min_msecs > resp_time) {
             icmpv6stat->min_frame = trans->resp_frame;
@@ -154,10 +154,13 @@ icmpv6stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_
  */
 static void compute_stats(icmpv6stat_t *icmpv6stat, double *mean, double *med, double *sdev)
 {
-    GSList *slist = icmpv6stat->rt_list;
+    GSList *slist;
     double diff;
     double sq_diff_sum = 0.0;
 
+    icmpv6stat->rt_list = g_slist_sort(icmpv6stat->rt_list, compare_doubles);
+    slist = icmpv6stat->rt_list;
+
     if (icmpv6stat->num_resps == 0 || slist == NULL) {
         *mean = 0.0;
         *med = 0.0;