Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/nashorn/test/script/sandbox/safeprops.js
32281 views
1
/*
2
* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*/
23
24
/**
25
* Try to access System properties safe to read for any code.
26
* No security exception expected.
27
*
28
* @test
29
* @security
30
* @run
31
* @bug 8033924: Default permissions are not given for eval code
32
*/
33
34
var propNames = [
35
"java.version",
36
"java.vendor",
37
"java.vendor.url",
38
"java.class.version",
39
"os.name",
40
"os.version",
41
"os.arch",
42
"file.separator",
43
"path.separator",
44
"line.separator",
45
"java.specification.version",
46
"java.specification.vendor",
47
"java.specification.name",
48
"java.vm.specification.version",
49
"java.vm.specification.vendor",
50
"java.vm.specification.name",
51
"java.vm.version",
52
"java.vm.vendor",
53
"java.vm.name"
54
];
55
56
// no security exception expected
57
for (var p in propNames) {
58
java.lang.System.getProperty(propNames[p]);
59
}
60
61
// no security exception expected
62
for (var p in propNames) {
63
var name = propNames[p];
64
eval('java.lang.System.getProperty(name)');
65
}
66
67