зеркало из https://github.com/github/putty.git
Krzysztof Kowalczyk notes that 'etastr' can overflow if the times involved
start to get silly. Replace it with a dynamically allocated string instead. [originally from svn r4153]
This commit is contained in:
Родитель
28e5492cb6
Коммит
0b3f799be7
8
scp.c
8
scp.c
|
@ -470,7 +470,7 @@ static void print_stats(char *name, unsigned long size, unsigned long done,
|
|||
{
|
||||
float ratebs;
|
||||
unsigned long eta;
|
||||
char etastr[10];
|
||||
char *etastr;
|
||||
int pct;
|
||||
int len;
|
||||
int elap;
|
||||
|
@ -486,8 +486,8 @@ static void print_stats(char *name, unsigned long size, unsigned long done,
|
|||
eta = size - done;
|
||||
else
|
||||
eta = (unsigned long) ((size - done) / ratebs);
|
||||
sprintf(etastr, "%02ld:%02ld:%02ld",
|
||||
eta / 3600, (eta % 3600) / 60, eta % 60);
|
||||
etastr = dupprintf("%02ld:%02ld:%02ld",
|
||||
eta / 3600, (eta % 3600) / 60, eta % 60);
|
||||
|
||||
pct = (int) (100 * (done * 1.0 / size));
|
||||
|
||||
|
@ -506,6 +506,8 @@ static void print_stats(char *name, unsigned long size, unsigned long done,
|
|||
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
free(etastr);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче