summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2019-10-12 00:12:13 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-10-12 00:12:13 +0000
commit1d58060fdb7ac0ec38e3ef9e76731d401adf02f6 (patch)
treecd86b019c81d4b74e91f1b5b6f457400e7ca009e
parent02c9504629171c8aaa724445d86aed9bb27d59a2 (diff)
parent642580ede49eed81d85b103ad8c8249163f98fba (diff)
downloadgsid-1d58060fdb7ac0ec38e3ef9e76731d401adf02f6.tar.gz
Merge "libfiemap: fix timeout overflow"
-rw-r--r--libfiemap/binder.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/libfiemap/binder.cpp b/libfiemap/binder.cpp
index 6c1ec6f..dcb887a 100644
--- a/libfiemap/binder.cpp
+++ b/libfiemap/binder.cpp
@@ -77,8 +77,11 @@ bool ImageManagerBinder::DeleteBackingImage(const std::string& name) {
bool ImageManagerBinder::MapImageDevice(const std::string& name,
const std::chrono::milliseconds& timeout_ms,
std::string* path) {
+ int32_t timeout_ms_count =
+ static_cast<int32_t>(std::clamp<typename std::chrono::milliseconds::rep>(
+ timeout_ms.count(), INT32_MIN, INT32_MAX));
MappedImage map;
- auto status = manager_->mapImageDevice(name, timeout_ms.count(), &map);
+ auto status = manager_->mapImageDevice(name, timeout_ms_count, &map);
if (!status.isOk()) {
LOG(ERROR) << __PRETTY_FUNCTION__
<< " binder returned: " << status.exceptionMessage().string();