| Index: base/time_win.cc | 
| diff --git a/base/time_win.cc b/base/time_win.cc | 
| index 191b7a779881026f54573e4a00c8658ade9ccc12..b59dab2811f1519da9ffec7bf75252d1e853c403 100644 | 
| --- a/base/time_win.cc | 
| +++ b/base/time_win.cc | 
| @@ -141,10 +141,18 @@ Time Time::NowFromSystemTime() { | 
|  | 
| // static | 
| Time Time::FromFileTime(FILETIME ft) { | 
| +  if (bit_cast<int64, FILETIME>(ft) == 0) | 
| +    return Time(); | 
| +  if (bit_cast<int64, FILETIME>(ft) == std::numeric_limits<int64>::max()) | 
| +    return Max(); | 
| return Time(FileTimeToMicroseconds(ft)); | 
| } | 
|  | 
| FILETIME Time::ToFileTime() const { | 
| +  if (is_null()) | 
| +    return bit_cast<FILETIME, int64>(0); | 
| +  if (is_max()) | 
| +    return bit_cast<FILETIME, int64>(std::numeric_limits<int64>::max()); | 
| FILETIME utc_ft; | 
| MicrosecondsToFileTime(us_, &utc_ft); | 
| return utc_ft; | 
|  |