Fixes a possible integer overflow in scrub counting.

Conflicts:
	HISTORY
This commit is contained in:
Andrea Mazzoleni 2014-02-15 17:13:04 +01:00
parent f3864bc797
commit b1f2ff9469
2 changed files with 3 additions and 1 deletions

View file

@ -25,6 +25,8 @@ SnapRAID HISTORY
5.3 2014/2 (BETA)
=================
* Don't warn about UUID changed if it's for an empty disk.
* Fixed the number of blocks that scrub has to process when
selecting a high percentage of the array.
5.2 2013/12
===========

View file

@ -492,7 +492,7 @@ int state_scrub(struct snapraid_state* state, int percentage, int olderthan)
recentlimit = now;
} else if (percentage != -1 || olderthan != -1) {
if (percentage != -1)
countlimit = (blockmax * percentage + 99) / 100;
countlimit = (blockmax * (uint64_t)percentage + 99) / 100;
else
countlimit = blockmax;
if (olderthan != -1)