Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b1f937b

Browse files
Modernize and secure temp file creation
1 parent fbe7b75 commit b1f937b

File tree

11 files changed

+27
-32
lines changed

11 files changed

+27
-32
lines changed

flow-server/src/main/java/com/vaadin/flow/server/frontend/TaskGenerateTsConfig.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.io.InputStream;
2323
import java.io.UncheckedIOException;
2424
import java.nio.charset.StandardCharsets;
25+
import java.nio.file.Files;
2526

2627
import org.apache.commons.io.FileUtils;
2728
import org.apache.commons.io.IOUtils;
@@ -224,9 +225,7 @@ private void overrideIfObsolete() throws ExecutionFailedException {
224225
}
225226
}
226227

227-
File backupFile = File.createTempFile(
228-
projectTsConfigFile.getName() + ".", ".bak",
229-
projectTsConfigFile.getParentFile());
228+
File backupFile = Files.createTempFile(projectTsConfigFile.getParentFile().toPath(), projectTsConfigFile.getName() + ".", ".bak").toFile();
230229
FileIOUtils.writeIfChanged(backupFile, projectTsConfigAsString);
231230
// Project's TS config has a custom content -
232231
// rewrite and throw an exception with explanations

flow-server/src/main/java/com/vaadin/flow/server/frontend/TaskGenerateTsDefinitions.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,9 +186,7 @@ private void updateIfContentMissing() throws ExecutionFailedException {
186186
UpdateMode updateMode = computeUpdateMode(content);
187187
if (updateMode == UpdateMode.UPDATE_AND_BACKUP) {
188188
try {
189-
File backupFile = File.createTempFile(
190-
tsDefinitions.getName() + ".", ".bak",
191-
tsDefinitions.getParentFile());
189+
File backupFile = Files.createTempFile(tsDefinitions.getParentFile().toPath(), tsDefinitions.getName() + ".", ".bak").toFile();
192190
writeIfChanged(backupFile, content);
193191
log().debug("Created {} backup copy on {}",
194192
TS_DEFINITIONS, backupFile);

flow-server/src/test/java/com/vaadin/flow/server/frontend/AbstractTaskClientGeneratorTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.io.File;
44
import java.nio.charset.StandardCharsets;
5+
import java.nio.file.Files;
56

67
import org.apache.commons.io.FileUtils;
78
import org.junit.Assert;
@@ -13,15 +14,15 @@ public class AbstractTaskClientGeneratorTest {
1314

1415
@Test
1516
public void writeIfChanged_writesWithChanges() throws Exception {
16-
File f = File.createTempFile("writeIfChanged", "aaa");
17+
File f = Files.createTempFile("writeIfChanged", "aaa").toFile();
1718
FileUtils.write(f, TEST_STRING, StandardCharsets.UTF_8);
1819

1920
Assert.assertTrue(FileIOUtils.writeIfChanged(f, TEST_STRING + "2"));
2021
}
2122

2223
@Test
2324
public void writeIfChanged_doesNotWriteWithoutChanges() throws Exception {
24-
File f = File.createTempFile("writeIfChanged", "aaa");
25+
File f = Files.createTempFile("writeIfChanged", "aaa").toFile();
2526
FileUtils.write(f, TEST_STRING, StandardCharsets.UTF_8);
2627
Assert.assertFalse(FileIOUtils.writeIfChanged(f, TEST_STRING));
2728
}

flow-server/src/test/java/com/vaadin/flow/server/frontend/NodeUpdaterTest.java

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.io.FileWriter;
2020
import java.io.IOException;
2121
import java.nio.charset.StandardCharsets;
22+
import java.nio.file.Files;
2223
import java.util.HashSet;
2324
import java.util.Map;
2425
import java.util.Set;
@@ -410,8 +411,7 @@ public void testGetPlatformPinnedDependencies_vaadinCoreVersionIsNotPresent_outp
410411
@Test
411412
public void testGetPlatformPinnedDependencies_onlyVaadinCoreVersionIsPresent_outputContainsOnlyCoreVersions()
412413
throws IOException {
413-
File coreVersionsFile = File.createTempFile("vaadin-core-versions",
414-
".json", temporaryFolder.newFolder());
414+
File coreVersionsFile = Files.createTempFile(temporaryFolder.newFolder().toPath(), "vaadin-core-versions", ".json").toFile();
415415
JsonObject mockedVaadinCoreJson = getMockVaadinCoreVersionsJson();
416416
Assert.assertTrue(mockedVaadinCoreJson.hasKey("core"));
417417
Assert.assertTrue(
@@ -435,8 +435,7 @@ public void testGetPlatformPinnedDependencies_onlyVaadinCoreVersionIsPresent_out
435435
@Test
436436
public void testGetPlatformPinnedDependencies_reactNotAvailable_noReactComponents()
437437
throws IOException, ClassNotFoundException {
438-
File coreVersionsFile = File.createTempFile("vaadin-core-versions",
439-
".json", temporaryFolder.newFolder());
438+
File coreVersionsFile = Files.createTempFile(temporaryFolder.newFolder().toPath(), "vaadin-core-versions", ".json").toFile();
440439
JsonObject mockedVaadinCoreJson = getMockVaadinCoreVersionsJson();
441440

442441
JsonObject reactComponents = Json.createObject();
@@ -469,10 +468,8 @@ public void testGetPlatformPinnedDependencies_reactNotAvailable_noReactComponent
469468
@Test
470469
public void testGetPlatformPinnedDependencies_reactAvailable_containsReactComponents()
471470
throws IOException, ClassNotFoundException {
472-
File coreVersionsFile = File.createTempFile("vaadin-core-versions",
473-
".json", temporaryFolder.newFolder());
474-
File vaadinVersionsFile = File.createTempFile("vaadin-versions",
475-
".json", temporaryFolder.newFolder());
471+
File coreVersionsFile = Files.createTempFile(temporaryFolder.newFolder().toPath(), "vaadin-core-versions", ".json").toFile();
472+
File vaadinVersionsFile = Files.createTempFile(temporaryFolder.newFolder().toPath(), "vaadin-versions", ".json").toFile();
476473
JsonObject mockedVaadinCoreJson = getMockVaadinCoreVersionsJson();
477474

478475
JsonObject reactComponents = Json.createObject();
@@ -525,8 +522,7 @@ public void testGetPlatformPinnedDependencies_reactAvailable_containsReactCompon
525522
@Test
526523
public void testGetPlatformPinnedDependencies_VaadinAndVaadinCoreVersionsArePresent_outputContainsBothCoreAndCommercialVersions()
527524
throws IOException {
528-
File coreVersionsFile = File.createTempFile("vaadin-core-versions",
529-
".json", temporaryFolder.newFolder());
525+
File coreVersionsFile = Files.createTempFile(temporaryFolder.newFolder().toPath(), "vaadin-core-versions", ".json").toFile();
530526
JsonObject mockedVaadinCoreJson = getMockVaadinCoreVersionsJson();
531527
Assert.assertTrue(mockedVaadinCoreJson.hasKey("core"));
532528
Assert.assertTrue(
@@ -538,8 +534,7 @@ public void testGetPlatformPinnedDependencies_VaadinAndVaadinCoreVersionsArePres
538534
Mockito.when(finder.getResource(Constants.VAADIN_CORE_VERSIONS_JSON))
539535
.thenReturn(coreVersionsFile.toURI().toURL());
540536

541-
File vaadinVersionsFile = File.createTempFile("vaadin-versions",
542-
".json", temporaryFolder.newFolder());
537+
File vaadinVersionsFile = Files.createTempFile(temporaryFolder.newFolder().toPath(), "vaadin-versions", ".json").toFile();
543538
JsonObject mockedVaadinJson = getMockVaadinVersionsJson();
544539
Assert.assertFalse(mockedVaadinJson.hasKey("core"));
545540
Assert.assertTrue(mockedVaadinJson.hasKey("vaadin"));

flow-tests/test-live-reload/src/main/java/com/vaadin/flow/uitest/ui/FrontendLiveReloadView.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.io.IOException;
2020
import java.io.UncheckedIOException;
2121
import java.nio.charset.StandardCharsets;
22+
import java.nio.file.Files;
2223

2324
import org.apache.commons.io.FileUtils;
2425

@@ -91,8 +92,7 @@ public static void replaceFrontendFile(VaadinService vaadinService,
9192
try {
9293
if (frontendFileBackup == null) {
9394
// make a backup so it can be restored at teardown
94-
frontendFileBackup = File.createTempFile(
95-
FrontendUtils.DEFAULT_FRONTEND_DIR, "ts");
95+
frontendFileBackup = Files.createTempFile(FrontendUtils.DEFAULT_FRONTEND_DIR, "ts").toFile();
9696
FileUtils.copyFile(frontendFile, frontendFileBackup);
9797
}
9898
FileUtils.write(frontendFile, code, StandardCharsets.UTF_8);

flow-tests/vaadin-spring-tests/test-spring-common/src/test/java/com/vaadin/flow/spring/test/UploadIT.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.io.File;
2020
import java.io.FileWriter;
2121
import java.io.IOException;
22+
import java.nio.file.Files;
2223
import java.util.List;
2324

2425
import org.junit.Assert;
@@ -80,7 +81,7 @@ protected String getTestPath() {
8081
}
8182

8283
private File createTempFile(String content) throws IOException {
83-
File tempFile = File.createTempFile("TestFileUpload", ".txt");
84+
File tempFile = Files.createTempFile("TestFileUpload", ".txt").toFile();
8485
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
8586
writer.write(content);
8687
writer.close();

flow-tests/vaadin-spring-tests/test-spring-security-flow-routepathaccesschecker/src/test/java/com/vaadin/flow/spring/flowsecurity/AppViewIT.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.io.FileOutputStream;
55
import java.io.IOException;
66
import java.io.InputStream;
7+
import java.nio.file.Files;
78
import java.util.List;
89
import java.util.stream.Collectors;
910

@@ -215,7 +216,7 @@ public void upload_file_in_private_view() throws IOException {
215216
open("private");
216217
loginUser();
217218
UploadElement upload = $(UploadElement.class).first();
218-
File tmpFile = File.createTempFile("security-flow-image", ".png");
219+
File tmpFile = Files.createTempFile("security-flow-image", ".png").toFile();
219220
InputStream imageStream = getClass().getClassLoader()
220221
.getResourceAsStream("image.png");
221222
IOUtils.copyLarge(imageStream, new FileOutputStream(tmpFile));

flow-tests/vaadin-spring-tests/test-spring-security-flow-standalone-routepathaccesschecker/src/test/java/com/vaadin/flow/spring/flowsecurity/AppViewIT.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.io.FileOutputStream;
55
import java.io.IOException;
66
import java.io.InputStream;
7+
import java.nio.file.Files;
78
import java.util.List;
89
import java.util.stream.Collectors;
910

@@ -217,7 +218,7 @@ public void upload_file_in_private_view() throws IOException {
217218
open("private");
218219
loginUser();
219220
UploadElement upload = $(UploadElement.class).first();
220-
File tmpFile = File.createTempFile("security-flow-image", ".png");
221+
File tmpFile = Files.createTempFile("security-flow-image", ".png").toFile();
221222
InputStream imageStream = getClass().getClassLoader()
222223
.getResourceAsStream("image.png");
223224
IOUtils.copyLarge(imageStream, new FileOutputStream(tmpFile));

flow-tests/vaadin-spring-tests/test-spring-security-flow/src/test/java/com/vaadin/flow/spring/flowsecurity/AppViewIT.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.io.FileOutputStream;
55
import java.io.IOException;
66
import java.io.InputStream;
7+
import java.nio.file.Files;
78
import java.util.ArrayList;
89
import java.util.List;
910
import java.util.stream.Collectors;
@@ -253,7 +254,7 @@ public void upload_file_in_private_view() throws IOException {
253254
open("private");
254255
loginUser();
255256
UploadElement upload = $(UploadElement.class).first();
256-
File tmpFile = File.createTempFile("security-flow-image", ".png");
257+
File tmpFile = Files.createTempFile("security-flow-image", ".png").toFile();
257258
InputStream imageStream = getClass().getClassLoader()
258259
.getResourceAsStream("image.png");
259260
IOUtils.copyLarge(imageStream, new FileOutputStream(tmpFile));

vaadin-dev-server/src/main/java/com/vaadin/base/devserver/stats/ProjectHelpers.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -243,9 +243,7 @@ static File resolveStatisticsStore() {
243243
if (vaadinHome == null) {
244244
try {
245245
// Create a temp folder for data
246-
vaadinHome = File.createTempFile(
247-
StatisticsConstants.VAADIN_FOLDER_NAME,
248-
UUID.randomUUID().toString());
246+
vaadinHome = Files.createTempFile(StatisticsConstants.VAADIN_FOLDER_NAME, UUID.randomUUID().toString()).toFile();
249247
FileUtils.forceMkdir(vaadinHome);
250248
} catch (IOException e) {
251249
getLogger().debug("Failed to create temp directory ", e);

0 commit comments

Comments
 (0)