diff options
| -rw-r--r-- | core/jni/com_android_internal_content_NativeLibraryHelper.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/core/jni/com_android_internal_content_NativeLibraryHelper.cpp b/core/jni/com_android_internal_content_NativeLibraryHelper.cpp index acf4da6a5d07..2cd9f8966bb2 100644 --- a/core/jni/com_android_internal_content_NativeLibraryHelper.cpp +++ b/core/jni/com_android_internal_content_NativeLibraryHelper.cpp @@ -257,6 +257,13 @@ copyFileIfChanged(JNIEnv *env, void* arg, ZipFileRO* zipFile, ZipEntryRO zipEntr return INSTALL_FAILED_CONTAINER_ERROR; } + if (fsync(fd) < 0) { + ALOGE("Coulnd't fsync temporary file name: %s: %s\n", localTmpFileName, strerror(errno)); + close(fd); + unlink(localTmpFileName); + return INSTALL_FAILED_INTERNAL_ERROR; + } + close(fd); // Set the modification time for this file to the ZIP's mod time. |