diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2016-05-15 18:40:50 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2016-05-15 18:40:50 +0900 |
| commit | bafbbe7c1d5ea39e67e233f9c32975fda7843874 (patch) | |
| tree | f89e784f062e108935662c52f66eb559f6de61db /src/NsCookieParser.cc | |
| parent | 6976ffed9e96ccc70f161aa5a38abddaf9d9befe (diff) | |
Allow subsecond value in ns cookie.txt file's expiry time field
Diffstat (limited to 'src/NsCookieParser.cc')
| -rw-r--r-- | src/NsCookieParser.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/NsCookieParser.cc b/src/NsCookieParser.cc index e484df8e..77ca25ab 100644 --- a/src/NsCookieParser.cc +++ b/src/NsCookieParser.cc @@ -69,9 +69,14 @@ std::unique_ptr<Cookie> parseNsCookie(const std::string& cookieStr, return nullptr; } int64_t expiryTime; - if (!util::parseLLIntNoThrow(expiryTime, - std::string(vs[4].first, vs[4].second))) { - return nullptr; + { + // chrome extension uses subsecond resolution for expiry time. + double expiryTimeDouble; + if (!util::parseDoubleNoThrow(expiryTimeDouble, + std::string(vs[4].first, vs[4].second))) { + return nullptr; + } + expiryTime = static_cast<int64_t>(expiryTimeDouble); } if (std::numeric_limits<time_t>::max() < expiryTime) { expiryTime = std::numeric_limits<time_t>::max(); |
