From 216c1ffe45ec6ab1991969672f6df02783b868f9 Mon Sep 17 00:00:00 2001 From: "pixeebot[bot]" <104101892+pixeebot[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 03:31:54 +0000 Subject: [PATCH] Modernize and secure temp file creation --- .../androidTest/java/com/owncloud/android/AbstractIT.java | 3 ++- .../java/com/owncloud/android/util/EncryptionTestIT.java | 5 +++-- .../java/com/owncloud/android/utils/EncryptionUtils.java | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/androidTest/java/com/owncloud/android/AbstractIT.java b/app/src/androidTest/java/com/owncloud/android/AbstractIT.java index 0246abed0db8..785db5e98003 100644 --- a/app/src/androidTest/java/com/owncloud/android/AbstractIT.java +++ b/app/src/androidTest/java/com/owncloud/android/AbstractIT.java @@ -54,6 +54,7 @@ import com.owncloud.android.operations.CreateFolderOperation; import com.owncloud.android.operations.UploadFileOperation; import com.owncloud.android.utils.FileStorageUtils; +import java.nio.file.Files; import org.apache.commons.io.FileUtils; import org.junit.After; @@ -291,7 +292,7 @@ public static File createFile(String name, int iteration) throws IOException { protected File getFile(String filename) throws IOException { InputStream inputStream = getInstrumentation().getContext().getAssets().open(filename); - File temp = File.createTempFile("file", "file"); + File temp = Files.createTempFile("file", "file").toFile(); FileUtils.copyInputStreamToFile(inputStream, temp); return temp; diff --git a/app/src/androidTest/java/com/owncloud/android/util/EncryptionTestIT.java b/app/src/androidTest/java/com/owncloud/android/util/EncryptionTestIT.java index 5914e09a018d..07b33f5bac35 100644 --- a/app/src/androidTest/java/com/owncloud/android/util/EncryptionTestIT.java +++ b/app/src/androidTest/java/com/owncloud/android/util/EncryptionTestIT.java @@ -26,6 +26,7 @@ import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.lib.resources.e2ee.CsrHelper; import com.owncloud.android.utils.EncryptionUtils; +import java.nio.file.Files; import org.junit.Assert; import org.junit.Rule; @@ -831,7 +832,7 @@ private DecryptedFolderMetadataFileV1 generateFolderMetadataV1_1() throws Except private boolean cryptFile(String fileName, String md5, byte[] key, byte[] iv) throws Exception { - File file = File.createTempFile(fileName, "enc"); + File file = Files.createTempFile(fileName, "enc").toFile(); String md5BeforeEncryption = getMD5Sum(file); // Encryption @@ -841,7 +842,7 @@ private boolean cryptFile(String fileName, String md5, byte[] key, byte[] iv) // Decryption Cipher decryptorCipher = EncryptionUtils.getCipher(Cipher.DECRYPT_MODE, key, iv); - File decryptedFile = File.createTempFile("file", "dec"); + File decryptedFile = Files.createTempFile("file", "dec").toFile(); decryptFile(decryptorCipher, file, decryptedFile, encryptorCipherAuthTag, new ArbitraryDataProviderImpl(targetContext), user); String md5AfterEncryption = getMD5Sum(decryptedFile); diff --git a/app/src/main/java/com/owncloud/android/utils/EncryptionUtils.java b/app/src/main/java/com/owncloud/android/utils/EncryptionUtils.java index 4ceb2847a9cb..4e6e37639c9c 100644 --- a/app/src/main/java/com/owncloud/android/utils/EncryptionUtils.java +++ b/app/src/main/java/com/owncloud/android/utils/EncryptionUtils.java @@ -52,6 +52,7 @@ import com.owncloud.android.lib.resources.status.SendClientDiagnosticRemoteOperation; import com.owncloud.android.operations.UploadException; import com.owncloud.android.utils.theme.CapabilityUtils; +import java.nio.file.Files; import org.apache.commons.httpclient.HttpStatus; @@ -553,7 +554,7 @@ public static byte[] decodeStringToBase64Bytes(String string) { public static EncryptedFile encryptFile(String accountName, File file, Cipher cipher) throws InvalidParameterSpecException, IOException { File tempEncryptedFolder = FileDataStorageManager.createTempEncryptedFolder(accountName); - File tempEncryptedFile = File.createTempFile(file.getName(), null, tempEncryptedFolder); + File tempEncryptedFile = Files.createTempFile(tempEncryptedFolder.toPath(), file.getName(), null).toFile(); encryptFileWithGivenCipher(file, tempEncryptedFile, cipher); String authenticationTagString = getAuthenticationTag(cipher); return new EncryptedFile(tempEncryptedFile, authenticationTagString);

AltStyle によって変換されたページ (->オリジナル) /