diff options
| -rw-r--r-- | runtime/zip_archive.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/runtime/zip_archive.cc b/runtime/zip_archive.cc index 2a48dc6d77..fc26f0f3e1 100644 --- a/runtime/zip_archive.cc +++ b/runtime/zip_archive.cc @@ -259,6 +259,10 @@ bool ZipEntry::ExtractToFile(File& file) { } bool ZipEntry::ExtractToMemory(uint8_t* begin, size_t size) { + // If size is zero, data offset will be meaningless, so bail out early. + if (size == 0) { + return true; + } off_t data_offset = GetDataOffset(); if (data_offset == -1) { LOG(WARNING) << "Zip: data_offset=" << data_offset; |