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

Commit f6fe9b6d authored by Ryan Mitchell's avatar Ryan Mitchell
Browse files

Use empty data if file in zip has length 0

Mmap fails when the length of a file in a zip is 0, so use an
aapt::io::EmptyData when the file length is 0.

Bug: 113094267
Test: manual
Change-Id: I2c1071293bf9b0fe33e8c279c8d78ff906fba5d6
parent d5180a5e
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -33,6 +33,11 @@ ZipFile::ZipFile(ZipArchiveHandle handle, const ZipEntry& entry,
    : zip_handle_(handle), zip_entry_(entry), source_(source) {}

std::unique_ptr<IData> ZipFile::OpenAsData() {
  // The file will fail to be mmaped if it is empty
  if (zip_entry_.uncompressed_length == 0) {
    return util::make_unique<EmptyData>();
  }

  if (zip_entry_.method == kCompressStored) {
    int fd = GetFileDescriptor(zip_handle_);