diff options
author | 2018-08-30 17:26:49 -0700 | |
---|---|---|
committer | 2018-08-30 18:26:27 -0700 | |
commit | 7f00f5a1fa25f9b6414905983e7ac2739f662615 (patch) | |
tree | 33d072da4f8c157ab4a4be61a5b00d37729e52aa | |
parent | f0029fcde5ccb85974ce8ef3c10bb457573d739e (diff) |
Fix various benign double fdsan warnings in tests.
Bug: http://b/113558485
Test: art/test.py --target --gtest
Change-Id: Idcc245e8bad0851aa9787d82f4d5bc9391fbd452
-rw-r--r-- | dex2oat/dex2oat_test.cc | 8 | ||||
-rw-r--r-- | libartbase/base/unix_file/fd_file_test.cc | 5 | ||||
-rw-r--r-- | libartbase/base/zip_archive_test.cc | 2 |
3 files changed, 9 insertions, 6 deletions
diff --git a/dex2oat/dex2oat_test.cc b/dex2oat/dex2oat_test.cc index b2fe441582..bb73904b87 100644 --- a/dex2oat/dex2oat_test.cc +++ b/dex2oat/dex2oat_test.cc @@ -1705,7 +1705,7 @@ TEST_F(Dex2oatTest, CompactDexGenerationFailureMultiDex) { // Create a multidex file with only one dex that gets rejected for cdex conversion. ScratchFile apk_file; { - FILE* file = fdopen(apk_file.GetFd(), "w+b"); + FILE* file = fdopen(dup(apk_file.GetFd()), "w+b"); ZipWriter writer(file); // Add vdex to zip. writer.StartEntry("classes.dex", ZipWriter::kCompress); @@ -1847,7 +1847,7 @@ TEST_F(Dex2oatTest, DontExtract) { std::unique_ptr<File> vdex_file(OS::OpenFileForReading(vdex_location.c_str())); ASSERT_TRUE(vdex_file != nullptr); ASSERT_GT(vdex_file->GetLength(), 0u); - FILE* file = fdopen(dm_file.GetFd(), "w+b"); + FILE* file = fdopen(dup(dm_file.GetFd()), "w+b"); ZipWriter writer(file); auto write_all_bytes = [&](File* file) { std::unique_ptr<uint8_t[]> bytes(new uint8_t[file->GetLength()]); @@ -1973,7 +1973,7 @@ TEST_F(Dex2oatTest, QuickenedInput) { TEST_F(Dex2oatTest, CompactDexInvalidSource) { ScratchFile invalid_dex; { - FILE* file = fdopen(invalid_dex.GetFd(), "w+b"); + FILE* file = fdopen(dup(invalid_dex.GetFd()), "w+b"); ZipWriter writer(file); writer.StartEntry("classes.dex", ZipWriter::kAlign32); DexFile::Header header = {}; @@ -2015,7 +2015,7 @@ TEST_F(Dex2oatTest, CompactDexInZip) { // Create a zip containing the invalid dex. ScratchFile invalid_dex_zip; { - FILE* file = fdopen(invalid_dex_zip.GetFd(), "w+b"); + FILE* file = fdopen(dup(invalid_dex_zip.GetFd()), "w+b"); ZipWriter writer(file); writer.StartEntry("classes.dex", ZipWriter::kCompress); ASSERT_GE(writer.WriteBytes(&header, sizeof(header)), 0); diff --git a/libartbase/base/unix_file/fd_file_test.cc b/libartbase/base/unix_file/fd_file_test.cc index 1f731a7a7b..298b2d785f 100644 --- a/libartbase/base/unix_file/fd_file_test.cc +++ b/libartbase/base/unix_file/fd_file_test.cc @@ -24,7 +24,10 @@ namespace unix_file { class FdFileTest : public RandomAccessFileTest { protected: virtual RandomAccessFile* MakeTestFile() { - return new FdFile(fileno(tmpfile()), false); + FILE* tmp = tmpfile(); + int fd = dup(fileno(tmp)); + fclose(tmp); + return new FdFile(fd, false); } }; diff --git a/libartbase/base/zip_archive_test.cc b/libartbase/base/zip_archive_test.cc index b99a471e04..b9238811ca 100644 --- a/libartbase/base/zip_archive_test.cc +++ b/libartbase/base/zip_archive_test.cc @@ -41,7 +41,7 @@ TEST_F(ZipArchiveTest, FindAndExtract) { ScratchFile tmp; ASSERT_NE(-1, tmp.GetFd()); - std::unique_ptr<File> file(new File(tmp.GetFd(), tmp.GetFilename(), false)); + std::unique_ptr<File> file(new File(dup(tmp.GetFd()), tmp.GetFilename(), false)); ASSERT_TRUE(file.get() != nullptr); bool success = zip_entry->ExtractToFile(*file, &error_msg); ASSERT_TRUE(success) << error_msg; |