* src/progress.c (dot_update, dot_finish): Sanitize input

This commit is contained in:
Tim Rühsen 2019-12-12 13:47:30 +01:00
parent f5d1dcf718
commit 542524855a

View File

@ -348,6 +348,15 @@ print_row_stats (struct dot_progress *dp, double dltime, bool last)
static void
dot_update (void *progress, wgint howmuch, double dltime)
{
// sanitize input
if (dltime >= INT_MAX)
dltime = INT_MAX - 1;
else if (dltime < 0)
dltime = 0;
if (howmuch < 0)
howmuch = 0;
struct dot_progress *dp = progress;
dp->accumulated += howmuch;
dp->dltime = dltime;
@ -406,6 +415,12 @@ dot_finish (void *progress, double dltime)
logputs (LOG_PROGRESS, " ");
}
// sanitize input
if (dltime >= INT_MAX)
dltime = INT_MAX - 1;
else if (dltime < 0)
dltime = 0;
print_row_stats (dp, dltime, true);
logputs (LOG_VERBOSE, "\n\n");
log_set_flush (false);