fix div by zero
authorMatthias Wachs <wachs@net.in.tum.de>
Thu, 28 Nov 2013 13:53:39 +0000 (13:53 +0000)
committerMatthias Wachs <wachs@net.in.tum.de>
Thu, 28 Nov 2013 13:53:39 +0000 (13:53 +0000)
src/transport/gnunet-service-transport_neighbours.c

index 49470d3666a89e7c90add635c3c9ae3c47a08f1b..2685137954a85b3a37abc33b1d96ecb12b9ff1d6 100644 (file)
@@ -2394,19 +2394,20 @@ send_utilization_data (void *cls,
   delta = GNUNET_TIME_absolute_get_difference(n->last_util_transmission, GNUNET_TIME_absolute_get());
 
   bps_pl_in = 0;
-  if (0 != n->util_payload_bytes_recv)
+
+  if ((0 != n->util_payload_bytes_recv) && (0 != delta.rel_value_us))
     bps_pl_in =  (1000LL * 1000LL *  n->util_payload_bytes_recv) / (delta.rel_value_us);
   bps_pl_out = 0;
-  if (0 != n->util_payload_bytes_sent)
+  if ((0 != n->util_payload_bytes_sent) && (0 != delta.rel_value_us))
     bps_pl_out = (1000LL * 1000LL * n->util_payload_bytes_sent) / delta.rel_value_us;
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "`%s' payload: received %u Bytes/s, sent %u Bytes/s  \n",
       GNUNET_i2s (key), bps_pl_in, bps_pl_out);
 
   bps_in = 0;
-  if (0 != n->util_total_bytes_recv)
+  if ((0 != n->util_total_bytes_recv) && (0 != delta.rel_value_us))
     bps_in =  (1000LL * 1000LL *  n->util_total_bytes_recv) / (delta.rel_value_us);
   bps_out = 0;
-  if (0 != n->util_total_bytes_sent)
+  if ((0 != n->util_total_bytes_sent) && (0 != delta.rel_value_us))
     bps_out = (1000LL * 1000LL * n->util_total_bytes_sent) / delta.rel_value_us;