]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
stupid integer overflow
authorAlan T. DeKok <aland@freeradius.org>
Sat, 7 Dec 2019 15:04:07 +0000 (10:04 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Sat, 7 Dec 2019 15:04:22 +0000 (10:04 -0500)
src/lib/io/load.c

index 913d1d9095a7850f6cd2cb0707411ba6db41d2f6..474efcc5a280ba5c43780c4d6b5f70636f249791 100644 (file)
@@ -186,7 +186,7 @@ static void load_timer(fr_event_list_t *el, fr_time_t now, void *uctx)
                l->pps += l->config->step;
                l->stats.pps = l->pps;
                l->stats.skipped = 0;
-               l->delta = (NSEC * l->config->parallel) / l->pps;
+               l->delta = (NSEC * ((uint64_t) l->config->parallel)) / l->pps;
 
                /*
                 *      Stop at max PPS, if it's set.  Otherwise
@@ -222,7 +222,7 @@ int fr_load_generator_start(fr_load_t *l)
        l->stats.pps = l->pps;
        l->count = l->config->parallel;
 
-       l->delta = (NSEC * l->config->parallel) / l->pps;
+       l->delta = (NSEC * ((uint64_t) l->config->parallel)) / l->pps;
        l->next = l->step_start + l->delta;
 
        load_timer(l->el, l->step_start, l);