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

Commit 042c3cd0 authored by Michael Runge's avatar Michael Runge
Browse files

Force sync files written by minzip.

Some files appear to be missing their sync to disk.

Bug: 18145574
Change-Id: Ic858624a4dd65bbfc54d30f3a13c607078270345
parent 5ddf4293
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -1067,7 +1067,8 @@ bool mzExtractRecursive(const ZipArchive *pArchive,
                    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 mzExtractRecursive(const ZipArchive *pArchive,
                }

                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;