You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.1 KiB
28 lines
1.1 KiB
From f7ef75a1ddea9d18e1f166b76e90f948cbfd1f77 Mon Sep 17 00:00:00 2001
|
|
From: Qijiang Fan <fqj@chromium.org>
|
|
Date: Tue, 31 Mar 2020 17:43:16 +0900
|
|
Subject: [PATCH] libchrome: fix integer overflow if microseconds is INT64_MIN
|
|
|
|
Change-Id: Id3641f6b625f716ae6d134002c0224ed32284939
|
|
---
|
|
base/time/time_exploded_posix.cc | 3 +--
|
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
|
|
diff --git a/base/time/time_exploded_posix.cc b/base/time/time_exploded_posix.cc
|
|
index 627c6b4f8735..2aef3864554e 100644
|
|
--- a/base/time/time_exploded_posix.cc
|
|
+++ b/base/time/time_exploded_posix.cc
|
|
@@ -141,8 +141,7 @@ void Time::Explode(bool is_local, Exploded* exploded) const {
|
|
millisecond = milliseconds % kMillisecondsPerSecond;
|
|
} else {
|
|
// Round these *down* (towards -infinity).
|
|
- milliseconds = (microseconds - kMicrosecondsPerMillisecond + 1) /
|
|
- kMicrosecondsPerMillisecond;
|
|
+ milliseconds = (microseconds + 1) / kMicrosecondsPerMillisecond - 1;
|
|
seconds =
|
|
(milliseconds - kMillisecondsPerSecond + 1) / kMillisecondsPerSecond;
|
|
// Make this nonnegative (and between 0 and 999 inclusive).
|
|
--
|
|
2.24.1
|
|
|