am 042c3cd0: Force sync files written by minzip.
* commit '042c3cd04ec3ef416019fa382cd5b1a942bd79e1':
Force sync files written by minzip.
diff --git a/minzip/Zip.c b/minzip/Zip.c
index 5070104..70aff00 100644
--- a/minzip/Zip.c
+++ b/minzip/Zip.c
@@ -1067,7 +1067,8 @@
setfscreatecon(secontext);
}
- int fd = creat(targetFile, UNZIP_FILEMODE);
+ int fd = open(targetFile, O_CREAT|O_WRONLY|O_TRUNC|O_SYNC
+ , UNZIP_FILEMODE);
if (secontext) {
freecon(secontext);
@@ -1082,7 +1083,12 @@
}
bool ok = mzExtractZipEntryToFile(pArchive, pEntry, fd);
- close(fd);
+ if (ok) {
+ ok = (fsync(fd) == 0);
+ }
+ if (close(fd) != 0) {
+ ok = false;
+ }
if (!ok) {
LOGE("Error extracting \"%s\"\n", targetFile);
ok = false;