Merge "Disallow operator!() on unique_fd" am: 0a887aa14c am: c730327691

am: ba394579cb

Change-Id: Ie9bfc735da5d1f74da3a409e910e012aaf0c4431
This commit is contained in:
Bernie Innocenti 2019-03-28 21:31:39 -07:00 committed by android-build-merger
commit cc347b9d4e
2 changed files with 4 additions and 1 deletions

View file

@ -105,6 +105,9 @@ class unique_fd_impl final {
int get() const { return fd_; }
operator int() const { return get(); } // NOLINT
// Catch bogus error checks (i.e.: "!fd" instead of "fd != -1").
bool operator!() const = delete;
int release() __attribute__((warn_unused_result)) {
tag(fd_, this, nullptr);
int ret = fd_;

View file

@ -177,7 +177,7 @@ Result<Success> Service::SetUpPidNamespace() const {
Result<Success> Service::EnterNamespaces() const {
for (const auto& [nstype, path] : namespaces_to_enter_) {
auto fd = unique_fd{open(path.c_str(), O_RDONLY | O_CLOEXEC)};
if (!fd) {
if (fd == -1) {
return ErrnoError() << "Could not open namespace at " << path;
}
if (setns(fd, nstype) == -1) {