--- 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) {