diff options
author | David Barksdale <amatus@amatus.name> | 2016-11-17 20:22:22 -0600 |
---|---|---|
committer | David Barksdale <amatus@amatus.name> | 2016-11-17 20:22:22 -0600 |
commit | cdeb1253bfda209def1ef48b436ff09cf7ab8be6 (patch) | |
tree | fb87ad581a83b854f90000f97ab01d34f52a79c2 | |
parent | e697fe7d7bda59cf23186d73d0522b984cd758b4 (diff) |
Avoid undefined left-shift
-rw-r--r-- | src/fragmentation/fragmentation.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/fragmentation/fragmentation.c b/src/fragmentation/fragmentation.c index 21bbc538d5..eb0bad6750 100644 --- a/src/fragmentation/fragmentation.c +++ b/src/fragmentation/fragmentation.c @@ -258,9 +258,13 @@ transmit_next (void *cls) fsize); else delay = GNUNET_TIME_UNIT_ZERO; - delay = GNUNET_TIME_relative_max (delay, - GNUNET_TIME_relative_multiply (fc->msg_delay, - (1ULL << fc->num_rounds))); + if (fc->num_rounds < 64) + delay = GNUNET_TIME_relative_max (delay, + GNUNET_TIME_relative_multiply + (fc->msg_delay, + (1ULL << fc->num_rounds))); + else + delay = GNUNET_TIME_UNIT_FOREVER_REL; if (wrap) { /* full round transmitted wait 2x delay for ACK before going again */ |