Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e39c88b authored by Narayan Kamath's avatar Narayan Kamath
Browse files

Fix full-eng build breakage due to dbacd826.

This wasn't caught by treehugger since it doesn't build this target.

Test: make
Test: zip_archive_test
Bug: 64211847

Change-Id: Iee6e133e236ed639f944e4b8c3c8102cf22e46bb
Merged-In: I275e7c4da05ceeb20401b560c72294f29ef63642
parent dbacd826
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -540,7 +540,7 @@ TEST(ziparchive, ExtractToFile) {
// Manual changes :
// [2] = 0xff  // Corrupt the LFH signature of entry 0.
// [3] = 0xff  // Corrupt the LFH signature of entry 0.
static const std::vector<uint8_t> kZipFileWithBrokenLfhSignature{
static const uint8_t kZipFileWithBrokenLfhSignature[] = {
    //[lfh-sig-----------], [lfh contents---------------------------------
    0x50, 0x4b, 0xff, 0xff, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x80,
    //--------------------------------------------------------------------
@@ -571,12 +571,16 @@ static const std::vector<uint8_t> kZipFileWithBrokenLfhSignature{
    0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00};

TEST(ziparchive, BrokenLfhSignature) {
  TemporaryFile tmp_file;
  ASSERT_NE(-1, tmp_file.fd);
  ASSERT_TRUE(android::base::WriteFully(tmp_file.fd, &kZipFileWithBrokenLfhSignature[0],
                                        kZipFileWithBrokenLfhSignature.size()));
  char kTempFilePattern[] = "zip_archive_input_XXXXXX";
  int fd = make_temporary_file(kTempFilePattern);
  ASSERT_NE(-1, fd);

  ASSERT_EQ(static_cast<int32_t>(sizeof(kZipFileWithBrokenLfhSignature)),
      TEMP_FAILURE_RETRY(write(fd, kZipFileWithBrokenLfhSignature,
                               sizeof(kZipFileWithBrokenLfhSignature))));
  ZipArchiveHandle handle;
  ASSERT_EQ(-1, OpenArchiveFd(tmp_file.fd, "LeadingNonZipBytes", &handle));
  ASSERT_EQ(-1, OpenArchiveFd(fd, "LeadingNonZipBytes", &handle));
  close(fd);
}

int main(int argc, char** argv) {