Update copy of safe_math_impl.h to take a fix from upstream:
authorTom Sepez <tsepez@chromium.org>
Thu, 21 May 2015 22:08:17 +0000 (15:08 -0700)
committerTom Sepez <tsepez@chromium.org>
Thu, 21 May 2015 22:08:17 +0000 (15:08 -0700)
Fix a division by zero when multiplying 0 * y with SafeNumerics.

BUG=488302
R=jschuh@chromium.org

Review URL: https://codereview.chromium.org/1126243007

third_party/base/numerics/safe_math_impl.h

index f9a4a71..1489720 100644 (file)
@@ -178,8 +178,8 @@ typename enable_if<std::numeric_limits<T>::is_integer&& std::numeric_limits<
                        T>::is_signed&&(sizeof(T) * 2 > sizeof(uintmax_t)),
                    T>::type
 CheckedMul(T x, T y, RangeConstraint* validity) {
-  // if either side is zero then the result will be zero.
-  if (!(x || y)) {
+  // If either side is zero then the result will be zero.
+  if (!x || !y) {
     return RANGE_VALID;
 
   } else if (x > 0) {