Skip to content

Commit 8d9ae21

Browse files
committed
PDFBOX-6100: replace File.createTempFile to Files.createTempFile to reduce the read permission to local user, as suggested by Simon Steiner
git-svn-id: https://svn.apache.org/repos/asf/pdfbox/trunk@1929734 13f79535-47bb-0310-9956-ffa450edef68
1 parent 243e06d commit 8d9ae21

File tree

4 files changed

+15
-13
lines changed

4 files changed

+15
-13
lines changed

debugger/src/main/java/org/apache/pdfbox/debugger/ui/Tree.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ private JMenuItem getFileOpenMenu(final COSStream cosStream, final TreePath node
295295
{
296296
try
297297
{
298-
File temp = File.createTempFile("pdfbox", "." + extension);
298+
File temp = Files.createTempFile("pdfbox", "." + extension).toFile();
299299
temp.deleteOnExit();
300300

301301
try (InputStream is = cosStream.createInputStream())

fontbox/src/test/java/org/apache/fontbox/ttf/RandomAccessReadBufferDataStreamTest.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323

2424
import java.io.BufferedOutputStream;
2525
import java.io.EOFException;
26-
import java.io.File;
27-
import java.io.FileOutputStream;
2826
import java.io.IOException;
2927
import java.io.OutputStream;
3028
import java.nio.charset.StandardCharsets;
29+
import java.nio.file.Files;
30+
import java.nio.file.Path;
3131

3232
import org.apache.pdfbox.io.RandomAccessRead;
3333
import org.apache.pdfbox.io.RandomAccessReadBuffer;
@@ -123,17 +123,17 @@ void testDoubleClose() throws IOException
123123
@Test
124124
void ensureReadFinishes() throws IOException
125125
{
126-
final File file = File.createTempFile("apache-pdfbox", ".dat");
126+
final Path path = Files.createTempFile("apache-pdfbox", ".dat");
127127

128-
try (OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file)))
128+
try (OutputStream outputStream = new BufferedOutputStream(Files.newOutputStream(path)))
129129
{
130130
final String content = "1234567890";
131131
outputStream.write(content.getBytes(StandardCharsets.UTF_8));
132132
outputStream.flush();
133133
}
134134

135135
final byte[] readBuffer = new byte[2];
136-
RandomAccessRead randomAccessRead = new RandomAccessReadBufferedFile(file);
136+
RandomAccessRead randomAccessRead = new RandomAccessReadBufferedFile(path.toFile());
137137
try (RandomAccessReadDataStream randomAccessReadDataStream = new RandomAccessReadDataStream(
138138
randomAccessRead))
139139
{
@@ -145,7 +145,7 @@ void ensureReadFinishes() throws IOException
145145
}
146146
assertEquals(10, totalAmountRead);
147147
}
148-
file.delete();
148+
Files.delete(path);
149149
}
150150

151151
/**
@@ -156,15 +156,15 @@ void ensureReadFinishes() throws IOException
156156
@Test
157157
void testReadBuffer() throws IOException
158158
{
159-
final File file = File.createTempFile("apache-pdfbox", ".dat");
159+
final Path path = Files.createTempFile("apache-pdfbox", ".dat");
160160

161-
try (OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file)))
161+
try (OutputStream outputStream = new BufferedOutputStream(Files.newOutputStream(path)))
162162
{
163163
final String content = "012345678A012345678B012345678C012345678D";
164164
outputStream.write(content.getBytes(StandardCharsets.UTF_8));
165165
outputStream.flush();
166166
}
167-
RandomAccessRead randomAccessRead = new RandomAccessReadBufferedFile(file);
167+
RandomAccessRead randomAccessRead = new RandomAccessReadBufferedFile(path.toFile());
168168

169169
final byte[] readBuffer = new byte[40];
170170
try (RandomAccessReadDataStream randomAccessReadDataStream = new RandomAccessReadDataStream(
@@ -238,7 +238,7 @@ void testReadBuffer() throws IOException
238238
assertEquals(count, bytesRead);
239239
assertEquals("012345678B012345678C012", new String(readBuffer, 0, count));
240240
}
241-
file.delete();
241+
Files.delete(path);
242242
}
243243

244244
}

io/src/main/java/org/apache/pdfbox/io/ScratchFile.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.FileNotFoundException;
2121
import java.io.IOException;
22+
import java.nio.file.Files;
2223
import java.util.ArrayList;
2324
import java.util.BitSet;
2425
import java.util.List;
@@ -253,7 +254,7 @@ private void enlarge() throws IOException
253254
// create scratch file is needed
254255
if ( raf == null )
255256
{
256-
file = File.createTempFile("PDFBox", ".tmp", scratchFileDirectory);
257+
file = Files.createTempFile(scratchFileDirectory.toPath(), "PDFBox", ".tmp").toFile();
257258
try
258259
{
259260
raf = new java.io.RandomAccessFile(file, "rw");

pdfbox/src/test/java/org/apache/pdfbox/rendering/TestPDFToImage.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.io.FileOutputStream;
2525
import java.io.FilenameFilter;
2626
import java.io.IOException;
27+
import java.nio.file.Files;
2728
import javax.imageio.ImageIO;
2829
import org.apache.logging.log4j.Logger;
2930
import org.apache.logging.log4j.LogManager;
@@ -207,7 +208,7 @@ public static boolean doTestFile(final File file, String inDir, String outDir)
207208

208209
// test to see whether file is destroyed in pdfbox
209210
new FileOutputStream(new File(outDir, file.getName() + ".saveerror")).close();
210-
File tmpFile = File.createTempFile("pdfbox", ".pdf");
211+
File tmpFile = Files.createTempFile("pdfbox", ".pdf").toFile();
211212
document.setAllSecurityToBeRemoved(true);
212213
document.save(tmpFile);
213214
new File(outDir, file.getName() + ".saveerror").delete();

0 commit comments

Comments
 (0)