From 4f3250dfb068d6f378f4d504e06a9126d9dac99b Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 26 Jul 2016 20:39:59 +0000 Subject: -avoid overflow in calculation for very large values --- src/util/bandwidth.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/util/bandwidth.c b/src/util/bandwidth.c index 008963c3c..980af764a 100644 --- a/src/util/bandwidth.c +++ b/src/util/bandwidth.c @@ -203,10 +203,9 @@ update_excess (struct GNUNET_BANDWIDTH_Tracker *av) } else { + double factor = 1.0 * left_bytes / (double) av->available_bytes_per_s__; delay = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, - left_bytes); - delay = GNUNET_TIME_relative_divide (delay, - av->available_bytes_per_s__); + (unsigned long long) factor); } GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "At %llu bps it will take us %s for %lld bytes to reach excess threshold\n", -- cgit v1.2.3