diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-17 19:02:35 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-17 19:02:35 +0000 |
commit | 42f558fdef03f1ec2261f554151d8a4d168919e4 (patch) | |
tree | a2f2403061c945c8983524036bc73550098de6b7 /content/common/sandbox_mac_system_access_unittest.mm | |
parent | cb8d22b096bf5698bcf58725d6e4d7534e235a0a (diff) | |
download | chromium_src-42f558fdef03f1ec2261f554151d8a4d168919e4.zip chromium_src-42f558fdef03f1ec2261f554151d8a4d168919e4.tar.gz chromium_src-42f558fdef03f1ec2261f554151d8a4d168919e4.tar.bz2 |
Implement ScopedFD in terms of ScopedGeneric.
Move to a new file base/files/scoped_file.h. I will also add ScopedFILE to here (currently in file_util.h) later.
I think there is a crash in the old code in content/browser/zygote_host/zygote_host_impl_linux.cc that this patch should fix. The old ScopedFD took the address of something in a vector that is being modified.
I removed SafeScopedFD from content/common/sandbox_linux/sandbox_linux.cc since base's ScopedFD not CHECKs on close failure (this is a more recent addition).
Reland of https://codereview.chromium.org/191673003/
R=agl, viettrungluu
Review URL: https://codereview.chromium.org/202113004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257473 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/common/sandbox_mac_system_access_unittest.mm')
-rw-r--r-- | content/common/sandbox_mac_system_access_unittest.mm | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/content/common/sandbox_mac_system_access_unittest.mm b/content/common/sandbox_mac_system_access_unittest.mm index 09ac854..4ddc73a 100644 --- a/content/common/sandbox_mac_system_access_unittest.mm +++ b/content/common/sandbox_mac_system_access_unittest.mm @@ -5,6 +5,7 @@ #import <Cocoa/Cocoa.h> #include "base/file_util.h" +#include "base/files/scoped_file.h" #include "base/logging.h" #include "base/strings/sys_string_conversions.h" #include "content/common/sandbox_mac.h" @@ -86,9 +87,8 @@ class MacSandboxedFileAccessTestCase : public MacSandboxTestCase { REGISTER_SANDBOX_TEST_CASE(MacSandboxedFileAccessTestCase); bool MacSandboxedFileAccessTestCase::SandboxedTest() { - int fdes = open("/etc/passwd", O_RDONLY); - file_util::ScopedFD file_closer(&fdes); - return fdes == -1; + base::ScopedFD fdes(open("/etc/passwd", O_RDONLY)); + return !fdes.is_valid(); } TEST_F(MacSandboxTest, FileAccess) { @@ -105,15 +105,14 @@ class MacSandboxedUrandomTestCase : public MacSandboxTestCase { REGISTER_SANDBOX_TEST_CASE(MacSandboxedUrandomTestCase); bool MacSandboxedUrandomTestCase::SandboxedTest() { - int fdes = open("/dev/urandom", O_RDONLY); - file_util::ScopedFD file_closer(&fdes); + base::ScopedFD fdes(open("/dev/urandom", O_RDONLY)); // Opening /dev/urandom succeeds under the sandbox. - if (fdes == -1) + if (!fdes.is_valid()) return false; char buf[16]; - int rc = read(fdes, buf, sizeof(buf)); + int rc = read(fdes.get(), buf, sizeof(buf)); return rc == sizeof(buf); } |