src/java.base/windows/classes/java/io/WinNTFileSystem.java
changeset 48927 847a988152b8
parent 47216 71c04702a3d5
child 49281 6712bdd93e4e
--- a/src/java.base/windows/classes/java/io/WinNTFileSystem.java	Wed Feb 21 00:29:04 2018 -0500
+++ b/src/java.base/windows/classes/java/io/WinNTFileSystem.java	Wed Feb 21 14:23:45 2018 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,12 +43,14 @@
     private final char slash;
     private final char altSlash;
     private final char semicolon;
+    private final String userDir;
 
     public WinNTFileSystem() {
         Properties props = GetPropertyAction.privilegedGetProperties();
         slash = props.getProperty("file.separator").charAt(0);
         semicolon = props.getProperty("path.separator").charAt(0);
         altSlash = (this.slash == '\\') ? '/' : '\\';
+        userDir = props.getProperty("user.dir");
     }
 
     private boolean isSlash(char c) {
@@ -347,7 +349,11 @@
     private String getUserPath() {
         /* For both compatibility and security,
            we must look this up every time */
-        return normalize(System.getProperty("user.dir"));
+        SecurityManager sm = System.getSecurityManager();
+        if (sm != null) {
+            sm.checkPropertyAccess("user.dir");
+        }
+        return normalize(userDir);
     }
 
     private String getDrive(String path) {