From ad266a16a5e6fb845316b7694315e7d9a77f41f8 Mon Sep 17 00:00:00 2001 From: Andrew John Hughes Date: Wed, 8 Feb 2012 19:09:35 +0000 Subject: PR classpath/42390: Use AccessController and PrivilegedAction to retrieve system properties. 2012-02-08 Andrew John Hughes PR classpath/42390 * java/nio/channels/spi/SelectorProvider.java: (provider()): Retrieve property value using PrivilegedAction. * java/security/KeyStore.java: (getDefaultType()): Likewise. --- ChangeLog | 9 +++++++++ java/nio/channels/spi/SelectorProvider.java | 12 +++++++++--- java/security/KeyStore.java | 7 ++++++- 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 + + 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 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 () { + 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 () { + public String run() + { + return Security.getProperty("keystore.type"); + } + }); if (tmp == null) tmp = "gkr"; -- cgit v1.2.1