diff --git a/src/share/classes/java/nio/file/Files.java b/src/share/classes/java/nio/file/Files.java index e509440696b215b061cbe59da4e94797ce84a1fc..3e19ca3e515dac1ad4ed8fcb7fe64ad53b628402 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 3c1087e4e530ad2956629f4ffe9fff1e6c932643..254f874175addbe346b871f6dc6e9aa5601bc449 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) { } } }