Skip to content

Commit 11ff964

Browse files
author
mmaroti
committed
fix "trickles[id].period << scale" overflow
git-svn-id: http://tinyos-main.googlecode.com/svn/trunk@4641 285f258d-8064-b571-fbc6-9656dc998e90
1 parent 773a88b commit 11ff964

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

tos/lib/net/TrickleTimerImplP.nc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// $Id: TrickleTimerImplP.nc,v 1.5 2007-07-30 00:42:00 scipio Exp $
1+
// $Id: TrickleTimerImplP.nc,v 1.6 2009-07-16 13:00:08 mmaroti Exp $
22
/*
33
* "Copyright (c) 2006 Stanford University. All rights reserved.
44
*
@@ -262,7 +262,7 @@ implementation {
262262
rval = call Random.rand16() % (trickles[id].period << (scale - 1));
263263
newTime += rval;
264264

265-
trickles[id].remainder = (trickles[id].period << scale) - newTime;
265+
trickles[id].remainder = (((uint32_t)trickles[id].period) << scale) - newTime;
266266
trickles[id].time += newTime;
267267
dbg("Trickle,TrickleTimes", "Generated time for %hhu with period %hu (%u) is %u (%i + %hu)\n", id, trickles[id].period, (uint32_t)trickles[id].period << scale, trickles[id].time, (trickles[id].period << (scale - 1)), rval);
268268
}

0 commit comments

Comments
 (0)