diff --git a/libziparchive/zip_archive_test.cc b/libziparchive/zip_archive_test.cc index 12752ef0a..753bd4427 100644 --- a/libziparchive/zip_archive_test.cc +++ b/libziparchive/zip_archive_test.cc @@ -727,7 +727,7 @@ TEST(ziparchive, ErrorCodeString) { // Manual changes : // [2] = 0xff // Corrupt the LFH signature of entry 0. // [3] = 0xff // Corrupt the LFH signature of entry 0. -static const uint8_t kZipFileWithBrokenLfhSignature[] = { +static const std::vector kZipFileWithBrokenLfhSignature{ //[lfh-sig-----------], [lfh contents--------------------------------- 0x50, 0x4b, 0xff, 0xff, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x80, //-------------------------------------------------------------------- @@ -758,16 +758,12 @@ static const uint8_t kZipFileWithBrokenLfhSignature[] = { 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00}; TEST(ziparchive, BrokenLfhSignature) { - char kTempFilePattern[] = "zip_archive_input_XXXXXX"; - int fd = make_temporary_file(kTempFilePattern); - ASSERT_NE(-1, fd); - - ASSERT_EQ(static_cast(sizeof(kZipFileWithBrokenLfhSignature)), - TEMP_FAILURE_RETRY(write(fd, kZipFileWithBrokenLfhSignature, - sizeof(kZipFileWithBrokenLfhSignature)))); + TemporaryFile tmp_file; + ASSERT_NE(-1, tmp_file.fd); + ASSERT_TRUE(android::base::WriteFully(tmp_file.fd, &kZipFileWithBrokenLfhSignature[0], + kZipFileWithBrokenLfhSignature.size())); ZipArchiveHandle handle; - ASSERT_EQ(-1, OpenArchiveFd(fd, "LeadingNonZipBytes", &handle)); - close(fd); + ASSERT_EQ(-1, OpenArchiveFd(tmp_file.fd, "LeadingNonZipBytes", &handle)); } int main(int argc, char** argv) {