Skip to content

Commit 4e20ad4

Browse files
committed
TIKA-4542: replace File.createTempFile to Files.createTempFile to reduce the read permission to local user, as suggested by Simon Steiner
1 parent ed7c922 commit 4e20ad4

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

tika-grpc/src/main/java/org/apache/tika/pipes/grpc/TikaGrpcServer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.io.File;
2222
import java.io.FileWriter;
2323
import java.nio.charset.StandardCharsets;
24+
import java.nio.file.Files;
2425
import java.util.concurrent.TimeUnit;
2526

2627
import com.beust.jcommander.JCommander;
@@ -90,7 +91,7 @@ public void start() throws Exception {
9091
}
9192
if (tikaConfigXml == null) {
9293
// Create a default tika config
93-
tikaConfigXml = File.createTempFile("tika-config", ".xml");
94+
tikaConfigXml = Files.createTempFile("tika-config", ".xml").toFile();
9495
try (FileWriter fw = new FileWriter(tikaConfigXml, StandardCharsets.UTF_8)) {
9596
TikaConfigSerializer.serialize(new TikaConfig(), TikaConfigSerializer.Mode.STATIC_FULL, fw, StandardCharsets.UTF_8);
9697
}

tika-grpc/src/main/java/org/apache/tika/pipes/grpc/TikaGrpcServerImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.io.IOException;
2222
import java.lang.reflect.InvocationTargetException;
2323
import java.nio.charset.StandardCharsets;
24+
import java.nio.file.Files;
2425
import java.util.HashMap;
2526
import java.util.LinkedHashMap;
2627
import java.util.List;
@@ -103,7 +104,7 @@ class TikaGrpcServerImpl extends TikaGrpc.TikaImplBase {
103104
TransformerException, SAXException {
104105
File tikaConfigFile = new File(tikaConfigPath);
105106
if (!tikaConfigFile.canWrite()) {
106-
File tmpTikaConfigFile = File.createTempFile("configCopy", tikaConfigFile.getName());
107+
File tmpTikaConfigFile = Files.createTempFile("configCopy", tikaConfigFile.getName()).toFile();
107108
tmpTikaConfigFile.deleteOnExit();
108109
LOG.info("Tika config file {} is read-only. Making a temporary copy to {}", tikaConfigFile, tmpTikaConfigFile);
109110
String tikaConfigFileContents = FileUtils.readFileToString(tikaConfigFile, StandardCharsets.UTF_8);

0 commit comments

Comments
 (0)