Do not close the zip archive prematurely. It may be accessed later for a firmware update.
Change-Id: I31c298f75bbcdc7998221aa2b3aa334926343139
diff --git a/install.c b/install.c
index ad2c21d..8194c35 100644
--- a/install.c
+++ b/install.c
@@ -127,10 +127,10 @@
}
bool ok = mzExtractZipEntryToFile(zip, binary_entry, fd);
close(fd);
- mzCloseZipArchive(zip);
if (!ok) {
LOGE("Can't copy %s\n", ASSUMED_UPDATE_BINARY_NAME);
+ mzCloseZipArchive(zip);
return 1;
}
@@ -239,13 +239,13 @@
waitpid(pid, &status, 0);
if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) {
LOGE("Error in %s\n(Status %d)\n", path, WEXITSTATUS(status));
+ mzCloseZipArchive(zip);
return INSTALL_ERROR;
}
if (firmware_type != NULL) {
+ mzCloseZipArchive(zip);
return handle_firmware_update(firmware_type, firmware_filename, zip);
- } else {
- return INSTALL_SUCCESS;
}
return INSTALL_SUCCESS;
}