summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2012-02-08 19:09:35 +0000
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2012-02-08 19:09:35 +0000
commitad266a16a5e6fb845316b7694315e7d9a77f41f8 (patch)
treec27eab498e83ce826b6c9c919316ba4ae2086dbc
parentd2dc6dc321a13c8a3ba2d07f2b780b269f33782b (diff)
downloadclasspath-ad266a16a5e6fb845316b7694315e7d9a77f41f8.tar.gz
PR classpath/42390: Use AccessController and PrivilegedAction to retrieve system properties.
2012-02-08 Andrew John Hughes <ahughes@redhat.com> PR classpath/42390 * java/nio/channels/spi/SelectorProvider.java: (provider()): Retrieve property value using PrivilegedAction. * java/security/KeyStore.java: (getDefaultType()): Likewise.
-rw-r--r--ChangeLog9
-rw-r--r--java/nio/channels/spi/SelectorProvider.java12
-rw-r--r--java/security/KeyStore.java7
3 files changed, 24 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 014e17987..9865f806d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2012-02-08 Andrew John Hughes <ahughes@redhat.com>
+
+ PR classpath/42390
+ * java/nio/channels/spi/SelectorProvider.java:
+ (provider()): Retrieve property value using
+ PrivilegedAction.
+ * java/security/KeyStore.java:
+ (getDefaultType()): Likewise.
+
2012-02-06 Andrew John Hughes <ahughes@redhat.com>
PR classpath/42390
diff --git a/java/nio/channels/spi/SelectorProvider.java b/java/nio/channels/spi/SelectorProvider.java
index 821bc4361..18b9e83b6 100644
--- a/java/nio/channels/spi/SelectorProvider.java
+++ b/java/nio/channels/spi/SelectorProvider.java
@@ -46,6 +46,8 @@ import java.nio.channels.Pipe;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
/**
* @author Michael Koch
@@ -145,14 +147,18 @@ public abstract class SelectorProvider
* Returns the system-wide default selector provider for this invocation
* of the Java virtual machine.
*
- * @return the default seletor provider
+ * @return the default selector provider
*/
public static synchronized SelectorProvider provider()
{
if (systemDefaultProvider == null)
{
- String propertyValue =
- System.getProperty("java.nio.channels.spi.SelectorProvider");
+ String propertyValue = AccessController.doPrivileged(new PrivilegedAction<String> () {
+ public String run()
+ {
+ return System.getProperty("java.nio.channels.spi.SelectorProvider");
+ }
+ });
if (propertyValue == null || propertyValue.equals(""))
systemDefaultProvider = new SelectorProviderImpl();
diff --git a/java/security/KeyStore.java b/java/security/KeyStore.java
index b7a0e2ab1..25173e543 100644
--- a/java/security/KeyStore.java
+++ b/java/security/KeyStore.java
@@ -214,7 +214,12 @@ public class KeyStore
{
// Security reads every property in java.security so it
// will return this property if it exists.
- String tmp = Security.getProperty("keystore.type");
+ String tmp = AccessController.doPrivileged(new PrivilegedAction<String> () {
+ public String run()
+ {
+ return Security.getProperty("keystore.type");
+ }
+ });
if (tmp == null)
tmp = "gkr";