Bug 1147491, part 2 - Disable use of BaseTimeDuration::operator/ with floating point values. r=ehsan

This commit is contained in:
Jonathan Watt 2015-03-30 16:27:13 +01:00
parent 806e25d2a4
commit f218ddd46e
2 changed files with 6 additions and 1 deletions

View File

@ -86,7 +86,7 @@ public:
T mean()
{
MOZ_ASSERT(!empty());
return T(mTotal / mValues.length());
return T(mTotal / int64_t(mValues.length()));
}
bool empty()

View File

@ -181,6 +181,11 @@ private:
// If required, use MultDouble explicitly and with care.
BaseTimeDuration operator*(const double aMultiplier) const = delete;
// Block double divisor (for the same reason, and because dividing by
// fractional values would otherwise invoke the int64_t variant, and rounding
// the passed argument can then cause divide-by-zero) - Bug 1147491.
BaseTimeDuration operator/(const double aDivisor) const = delete;
public:
BaseTimeDuration MultDouble(double aMultiplier) const
{