- BUGFIX: Fixed possible overflow in ETA calculation

This commit is contained in:
Christophe Dumez
2007-11-21 19:01:24 +00:00
parent df92e3e5e9
commit 6b6d05a380
2 changed files with 11 additions and 3 deletions

2
TODO
View File

@@ -61,5 +61,5 @@ rc8->final? changelog:
- BUGFIX: Do not save fastresume data for checking torrents anymore - BUGFIX: Do not save fastresume data for checking torrents anymore
- BUGFIX: Saving trackers file only when necessary - BUGFIX: Saving trackers file only when necessary
- BUGFIX: Fixed possible segfault when unfiltering files in torrent addition dialog - BUGFIX: Fixed possible segfault when unfiltering files in torrent addition dialog
- BUGFIX: Fixed possible overflow in ETA calculation

View File

@@ -166,8 +166,16 @@ void bittorrent::updateETAs() {
foreach(val, listEtas) { foreach(val, listEtas) {
moy += (qlonglong)((double)val/(double)nbETAs); moy += (qlonglong)((double)val/(double)nbETAs);
} }
Q_ASSERT(moy >= 0); if(moy < 0) {
ETAs[hash] = moy; if(ETAstats.contains(hash)) {
ETAstats.remove(hash);
}
if(ETAs.contains(hash)) {
ETAs.remove(hash);
}
} else {
ETAs[hash] = moy;
}
} else { } else {
// Speed is too low, we don't want an overflow. // Speed is too low, we don't want an overflow.
if(ETAstats.contains(hash)) { if(ETAstats.contains(hash)) {