| Index: base/numerics/safe_conversions_impl.h
|
| diff --git a/base/numerics/safe_conversions_impl.h b/base/numerics/safe_conversions_impl.h
|
| index 504ce7ef29770c7b4f0968b7a8ded5d07f1c2185..41570671601bbc5264bed1990e905ecd9bc46f45 100644
|
| --- a/base/numerics/safe_conversions_impl.h
|
| +++ b/base/numerics/safe_conversions_impl.h
|
| @@ -148,10 +148,10 @@ struct DstRangeRelationToSrcRangeImpl<Dst,
|
| NUMERIC_RANGE_NOT_CONTAINED> {
|
| static RangeConstraint Check(Src value) {
|
| return std::numeric_limits<Dst>::is_iec559
|
| - ? GetRangeConstraint(value <= std::numeric_limits<Dst>::max(),
|
| - value >= -std::numeric_limits<Dst>::max())
|
| - : GetRangeConstraint(value <= std::numeric_limits<Dst>::max(),
|
| - value >= std::numeric_limits<Dst>::min());
|
| + ? GetRangeConstraint((value < std::numeric_limits<Dst>::max()),
|
| + (value > -std::numeric_limits<Dst>::max()))
|
| + : GetRangeConstraint((value < std::numeric_limits<Dst>::max()),
|
| + (value > std::numeric_limits<Dst>::min()));
|
| }
|
| };
|
|
|
| @@ -163,7 +163,7 @@ struct DstRangeRelationToSrcRangeImpl<Dst,
|
| INTEGER_REPRESENTATION_UNSIGNED,
|
| NUMERIC_RANGE_NOT_CONTAINED> {
|
| static RangeConstraint Check(Src value) {
|
| - return GetRangeConstraint(value <= std::numeric_limits<Dst>::max(), true);
|
| + return GetRangeConstraint(value < std::numeric_limits<Dst>::max(), true);
|
| }
|
| };
|
|
|
| @@ -178,7 +178,7 @@ struct DstRangeRelationToSrcRangeImpl<Dst,
|
| return sizeof(Dst) > sizeof(Src)
|
| ? RANGE_VALID
|
| : GetRangeConstraint(
|
| - value <= static_cast<Src>(std::numeric_limits<Dst>::max()),
|
| + value < static_cast<Src>(std::numeric_limits<Dst>::max()),
|
| true);
|
| }
|
| };
|
| @@ -195,7 +195,7 @@ struct DstRangeRelationToSrcRangeImpl<Dst,
|
| return (MaxExponent<Dst>::value >= MaxExponent<Src>::value)
|
| ? GetRangeConstraint(true, value >= static_cast<Src>(0))
|
| : GetRangeConstraint(
|
| - value <= static_cast<Src>(std::numeric_limits<Dst>::max()),
|
| + value < static_cast<Src>(std::numeric_limits<Dst>::max()),
|
| value >= static_cast<Src>(0));
|
| }
|
| };
|
|
|