From 3aa63cac4d676a5a0b16241c3b974371915490fa Mon Sep 17 00:00:00 2001 From: alanb Date: Tue, 1 Mar 2011 12:03:44 +0000 Subject: [PATCH] 7023034: Files.createTempDirectory((Path)null, "temp") does not throw NPE Reviewed-by: forax --- src/share/classes/java/nio/file/Files.java | 6 +++-- test/java/nio/file/Files/TemporaryFiles.java | 28 +++++++++++++++++++- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/share/classes/java/nio/file/Files.java b/src/share/classes/java/nio/file/Files.java index e50944069..3e19ca3e5 100644 --- a/src/share/classes/java/nio/file/Files.java +++ b/src/share/classes/java/nio/file/Files.java @@ -794,7 +794,8 @@ public final class Files { FileAttribute... attrs) throws IOException { - return TempFileHelper.createTempFile(dir, prefix, suffix, attrs); + return TempFileHelper.createTempFile(Objects.requireNonNull(dir), + prefix, suffix, attrs); } /** @@ -891,7 +892,8 @@ public final class Files { FileAttribute... attrs) throws IOException { - return TempFileHelper.createTempDirectory(dir, prefix, attrs); + return TempFileHelper.createTempDirectory(Objects.requireNonNull(dir), + prefix, attrs); } /** diff --git a/test/java/nio/file/Files/TemporaryFiles.java b/test/java/nio/file/Files/TemporaryFiles.java index 3c1087e4e..254f87417 100644 --- a/test/java/nio/file/Files/TemporaryFiles.java +++ b/test/java/nio/file/Files/TemporaryFiles.java @@ -22,7 +22,7 @@ */ /* @test - * @bug 4313887 6838333 7006126 + * @bug 4313887 6838333 7006126 7023034 * @summary Unit test for Files.createTempXXX * @library .. */ @@ -167,5 +167,31 @@ public class TemporaryFiles { testInvalidFileTemp("../blah", null); testInvalidFileTemp("dir/blah", null); testInvalidFileTemp("blah", ".dat/foo"); + + // nulls + try { + Files.createTempFile("blah", ".tmp", (FileAttribute[])null); + throw new RuntimeException("NullPointerException expected"); + } catch (NullPointerException ignore) { } + try { + Files.createTempFile("blah", ".tmp", new FileAttribute[] { null }); + throw new RuntimeException("NullPointerException expected"); + } catch (NullPointerException ignore) { } + try { + Files.createTempDirectory("blah", (FileAttribute[])null); + throw new RuntimeException("NullPointerException expected"); + } catch (NullPointerException ignore) { } + try { + Files.createTempDirectory("blah", new FileAttribute[] { null }); + throw new RuntimeException("NullPointerException expected"); + } catch (NullPointerException ignore) { } + try { + Files.createTempFile((Path)null, "blah", ".tmp"); + throw new RuntimeException("NullPointerException expected"); + } catch (NullPointerException ignore) { } + try { + Files.createTempDirectory((Path)null, "blah"); + throw new RuntimeException("NullPointerException expected"); + } catch (NullPointerException ignore) { } } } -- GitLab