summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/zip_archive.cc4
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;