[PATCH 11/12] Fix overflow in time2tick / tick2time.

Andreas Henriksson
2007-10-12T09:06:37Z

The helper functions gets passed an unsigned int, which gets cast to long
and overflows. See http://bugs.debian.org/175462

Signed-off-by: Andreas Henriksson <andreas@fatal.se>
---
tc/tc_core.c | 4 ++--
tc/tc_core.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tc/tc_core.c b/tc/tc_core.c
index 58155fb..fb89876 100644
--- a/tc/tc_core.c
+++ b/tc/tc_core.c
@@ -35,12 +35,12 @@ int tc_core_time2big(long time)
}

-long tc_core_time2tick(long time)
+unsigned tc_core_time2tick(unsigned time)
{
return time*tick_in_usec;
}

-long tc_core_tick2time(long tick)
+unsigned tc_core_tick2time(unsigned tick)
{
return tick/tick_in_usec;
}
diff --git a/tc/tc_core.h b/tc/tc_core.h
index a139da6..b2a16bc 100644
--- a/tc/tc_core.h
+++ b/tc/tc_core.h
@@ -7,8 +7,8 @@
#define TIME_UNITS_PER_SEC 1000000

int tc_core_time2big(long time);
-long tc_core_time2tick(long time);
-long tc_core_tick2time(long tick);
+unsigned tc_core_time2tick(unsigned time);
+unsigned tc_core_tick2time(unsigned tick);
long tc_core_time2ktime(long time);
long tc_core_ktime2time(long ktime);
unsigned tc_calc_xmittime(unsigned rate, unsigned size);
--
1.5.3.4