summaryrefslogtreecommitdiff
path: root/toolchain-extras/profile-clang-openat.cpp
diff options
context:
space:
mode:
authorPirama Arumuga Nainar <pirama@google.com>2020-12-14 13:37:59 -0800
committerPirama Arumuga Nainar <pirama@google.com>2020-12-14 13:39:27 -0800
commitdae8d0c3d327441705601c87745ef13ea6dc2f54 (patch)
tree317774f2f2bc85b70dff91441a9f55ff831c7030 /toolchain-extras/profile-clang-openat.cpp
parent9ae17c2c08c0cdd0d4f946e566b7d96ee60cb9ab (diff)
downloadextras-dae8d0c3d327441705601c87745ef13ea6dc2f54.tar.gz
[coverage] Check return value of `open`
We were attempting to call `fchmod` on a file descriptor without checking its validity. Test: N/A Change-Id: Ice54caa6089f7dc36068deef731305a630880248
Diffstat (limited to 'toolchain-extras/profile-clang-openat.cpp')
-rw-r--r--toolchain-extras/profile-clang-openat.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/toolchain-extras/profile-clang-openat.cpp b/toolchain-extras/profile-clang-openat.cpp
index f2f43d14..45c1acc5 100644
--- a/toolchain-extras/profile-clang-openat.cpp
+++ b/toolchain-extras/profile-clang-openat.cpp
@@ -49,7 +49,7 @@ __attribute__((weak)) int __wrap_open(const char* pathname, int flags, ...) {
va_end(args);
int ret = __real_open(pathname, flags, mode);
- if (is_coverage_trace(pathname)) fchmod(ret, mode);
+ if (ret != -1 && is_coverage_trace(pathname)) fchmod(ret, mode);
return ret;
}
}